Lambda 関数をダウンロードする

Lambda 関数をダウンロードして内容を確認する方法。ローカルのコードとデプロイされたコードが同じかわからなくなったときなど。

バージョンの確認

aws cli で特定の関数のバージョン情報を確認。

$ aws lambda list-versions-by-function --function-name hoge
{
    "Versions": [
        {
            "TracingConfig": {
                "Mode": "PassThrough"
            },
            "Version": "$LATEST",
            "CodeSha256": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=",
            "FunctionName": "hoge",
            "VpcConfig": {
                "SubnetIds": [],
                "VpcId": "",
                "SecurityGroupIds": []
            },
            "MemorySize": 128,
            "RevisionId": "00000000-0000-0000-0000-000000000000",
            "CodeSize": 111111,
            "FunctionArn": "arn:aws:lambda:ap-northeast-1:000000000000:function:hoge:$LATEST",
            "Environment": {
                "Variables": {
                    "NODE_ENV": "production"
                }
            },
            "Handler": "index.handler",
            "Role": "arn:aws:iam::000000000000:role/lambda-basic-role",
            "Timeout": 180,
            "LastModified": "2018-11-01T19:00:00.000+0000",
            "Runtime": "nodejs6.10",
            "Description": "ホゲ"
        }
    ]
}

これで、hoge という Lambda 関数のバージョンをリストアップできる。Versions 配列の中に一つだけだけど、複数バージョンがあると要素が増えていく。
Latest の情報を取得してみる。

$ aws lambda get-function --function-name hoge
{
    "Code": {
        "RepositoryType": "S3",
        "Location": "https://awslambda-ap-ne-1-tasks.s3.ap-northeast-1.amazonaws.com/snapshots/000000000000/hoge<SNIP!>"
    },
    "Configuration": {
        "TracingConfig": {
            "Mode": "PassThrough"
        },
        "Version": "$LATEST",
        "CodeSha256": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=",
        "FunctionName": "hoge",
        <SNIP!>
    }
}

Code の Location の URL からコードをダウンロードできる。
特定バージョンの情報を取得するには、$ aws lambda get-function --function-name hoge --qualifier 3 のように qualifier オプションを使う。

取得する

実際の取得は wget で。

カテゴリーTech

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください