aws-cli で Node.js v12 を使用している Lambda をリストアップする方法です。
AWS SSO を使用している場合の方法になります。
AWS CLI の準備
aws cli のインストール手順は省略。
aws sso のスタート画面を開く。
対象のアカウントの Command line or programmatic access から Option 1: Set AWS environment variables
をコピー
ターミナルでペーストしてそのまま実行。
>export AWS_ACCESS_KEY_ID="ACCESSKEYID"
export AWS_SECRET_ACCESS_KEY="SECRETACCESSKEY"
export AWS_SESSION_TOKEN="SESSIONTOKEN"
コマンドの実行
以下のコマンドを実行。
リージョン、Node.js のバージョンは適宜変更して実行。
aws lambda list-functions --function-version ALL --region ap-northeast-1 --output text --query "Functions[?Runtime=='nodejs12.x'].FunctionArn"
コマンドの結果をVScodeで整形
対象の関数があった場合、コマンドの実行結果は以下のようなのが連なったものが出力される。
arn:aws:lambda:ap-northeast-1:123456789012:function:[lambda関数名]:$LATEST
欲しいのは関数名だけなのでVScodeでデータを整形していく。
置換機能でarn:aws:lambda:ap-northeast-1:123456789012:function:
と、:$LATEST
を削除。
(:$LATEST
はLATESTが数字になっている場合もある。)
元データは改行が関数ごとで行われていないので、改行を置換すると見やすい。
置換機能の正規表現モードで\n
を置換することで改行を置換できる。
また、関数は重複している可能性がある。
まず重複している関数を削除していく。
整形途中のテキスト全体を選択。(Command+A)
コマンドパレットを開く。(Command+Shift+P)
Sort Lines Ascending を実行。
次に正規表現で重複行を削除する。
検索欄を表示。(Command+F)
以下の画像の赤枠部分から、正規表現モードにする。(もしくはCommand+Option+R)
検索欄に^(.*)(\n\1)+$
を、置換に$1
を入力。
置換を実行。
以上でリストが完成。
参考資料