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ください。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark