git bash上でxargsやaws cliを使ってLambda関数 一括削除 まとめて削除

 以下の記事はアメブロで2022-12-17に投稿したものです。


awsREST-APIの開発ビルド、デプロイを繰り返していると
Lambda関数のストレージ制限に引っかかって
デプロイ失敗するようになってしまった。

なぜだかわからないが、Lambda関数がバージョン管理するようになっていて
3xxいくつまでバージョンが進んでいて何年も前のモノも残っていた。

しょうがいないから
awsコンソールから削除しようとしたら、まとめて削除ができそうにない。
検索してみたら、aws-cli、xargs、jqを使って削除しているサイトがあったので
それを参考に作成して、git-bashから実行したらawsからエラー報告がくる。

> failed to satisfy constraint: Member must satisfy regular expression pattern

echoを使って確認しても問題ないのだけど、xargsに-pオプションを付けてみたら
なんかxargsが起動したコマンドのfunction名にゴミが付随していた。
このゴミのせいでaws-cliがエラーを起こしているようだった。

ダメな例)
xargs -I {} aws lambda delete-function --function-name {}
うまくいった例)
xargs -I {} sh -c 'aws lambda delete-function --function-name {}'

としたら動作した。
使い方が悪いのか、git-bashのバグなのかよくわからない、、、

bash、xargsはgitForWindowsのモノだ

コメント