旅行しながら働く ムラサメ研究所社長ブログ

主にゲームやプログラミングのログ

AWS Lambdaでトリガーが削除できなくなった時

例えば API GatewayからLambdaを連携させた後、連携を削除したい場合は
Lambdaのトリガーを削除したあとに API Gatewayから連携を削除すればよいのですが
逆をやってしまうと。 先に API Gatewayから削除した場合は Lambdaにトリガーが残ったまま削除できないという不具合がおこります

どう見ても AWS管理画面の不具合ですが、システム的には消せるので

AWS Clientでコマンドをうてば消せます

aws lambda remove-permission を使えば消せるのですが、sidを手に入れるため aws lambda get-policyを使います

$ aws lambda get-policy --function-name LambdaのARN

ARNはLambda管理画面の右上に arn:aws:lambda:ap-northeast-1:ほげほげ・・ の形で表示されています
このコマンドを実行すると Jsonが返ってきます
そこで消したいものの sidを探し

$ aws lambda remove-permission --function-name LambdaのARN --statement-id 取得したsid

これで消える