LambdaのRuntimeバージョンとか調べるのがめんどくさくてCLIツールにした話
Nodejs6.10のEOLが発表されました。Lambda@edgeが6.10しか使えなかった時期があり、切り替え大変な人は少なからずいるのかなと思います。 で、対象のfunctionsを調べる場合、NextTokenを […]
広告ここから
広告ここまで
目次
Nodejs6.10のEOLが発表されました。Lambda@edgeが6.10しか使えなかった時期があり、切り替え大変な人は少なからずいるのかなと思います。
で、対象のfunctionsを調べる場合、NextTokenを受け取ってそれをもう一度投げるという実装が必要だったりします。
これをbashで組むのもめんどうだなーとおもったので、Node.jsのCLIにしました。
インストール
npmにあげてるので、そこから落とせます。
$ npm i -g lambda-function-search
$ lfs --help
// こっちだとダイレクト
$ npx lambda-function-search --help
USAGE
$ lambda-function-search
OPTIONS
-A, --showAll Show all function data
-R, --runtime=runtime Lambda runtime
Example: nodejs, nodejs4.3, nodejs6.10, nodejs8.10, java8, python2.7, python3.6, python3.7, dotnetcore1.0,
dotnetcore2.0, dotnetcore2.1, nodejs4.3-edge, go1.x, ruby2.5, provided
-h, --help show CLI help
-p, --profile=profile AWS CLI profile
-r, --region=region region
使い方
ランタイム名を渡してやれば再帰処理で探してくれます。
$ lfs --runtime=nodejs6.10
// profile / regionサポート
$ lfs --region us-east-1 --profile john_due --runtime=nodejs6.10
Search condition: Runtime === nodejs6.10
Matched Functions: 3 / 4
====
sample
bandwidth-limit-lambda-edge-production-vr_random509
bandwidth-limit-lambda-edge-development-vr_random509
–showAllをつけるとまるごと出してくれます。
Search condition: Runtime === nodejs6.10
Matched Functions: 1 / 4
====
sample
{ FunctionName: 'sample',
FunctionArn: 'arn:aws:lambda:us-east-1:XXXXXXXXX:function:sample',
Runtime: 'nodejs6.10',
Role: 'arn:aws:iam::XXXXXXXXX:role/service-role/sample',
Handler: 'index.handler',
CodeSize: 216,
Description: '',
Timeout: 3,
MemorySize: 128,
LastModified: '2017-12-18T10:14:33.695+0000',
CodeSha256: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
Version: '$LATEST',
KMSKeyArn: null,
TracingConfig: { Mode: 'PassThrough' },
MasterArn: null,
RevisionId: 'XXXXXXXXX-XXXXXXXXX-XXXXXXXXX-XXXXXXXXX' }
今後
oclifでさっと組んだので、フラグ追加すれば他の検索条件もいけそうです。
「こういう条件で検索したい」とかあればPRください。