S3にファイルを追加した時にLambdaに渡されるデータ形式の備忘録

こんにちは、おてらです。

S3にファイルがアップロードされたことをトリガーに Lambda を起動してゴニョゴニョしたいときに、S3のパラメータがどのようにLambdaに渡されるのかよく分からなかったので記録。

スポンサーリンク

Lambdaに渡されるパラメータの中身

event にすべて突っ込まれます。

IDとか出しちゃまずそうなのはマスクしてますけど、こんな感じでした。

{
  "Records":[
    {
      "eventVersion":"2.1",
      "eventSource":"aws:s3",
      "awsRegion":"ap-northeast-1",
      "eventTime":"2018-11-29T05:28:59.477Z",
      "eventName":"ObjectCreated:Put",
      "userIdentity":{
        "principalId":"AWS:*********************"
      },
      "requestParameters":{
        "sourceIPAddress":"xxx.xxx.xxx.xxx"
      },
      "responseElements":{
        "x-amz-request-id":"****************",
        "x-amz-id-2":"****************************************************************************"
      },
      "s3":{
        "s3SchemaVersion":"1.0",
        "configurationId":"************************************",
        "bucket":{
          "name":"bucket_name",
          "ownerIdentity":{
            "principalId":"**************"
          },
          "arn":"arn:aws:s3:::bucket_name"
        },
        "object":{
          "key":"file_name",
          "size":6,
          "eTag":"3f0326f4e56c3f4b54feede9071cafbf",
          "sequencer":"005BFF791B6625AC82"
        }
      }
    }
  ]
}

とりあえず、バケット名とファイル名が欲しかったのでこれで取れます~。

補足しておくと、23行目の “name”:”bucket_name” がバケット名で、30行目の “key”:”file_name” がアップロードされたファイル名です。

フォローする

スポンサーリンク