Pythonの辞書型の説明は省きます(こちらが参考になります)
こちらはs3のログなのですがこの中の一部を取り出したいのに、中身が多すぎて頭がこんがらがったので解説です。
event={'Records': [ {'eventVersion': '2.1', 'eventSource': 'aws:s3', 'awsRegion': 'ap-northeast-1', 'eventTime': 'YYY-MM-ddTHH: mm: ss', 'eventName': 'ObjectRemoved:Delete', 'userIdentity': {'principalId': 'AWS:HOGEHOGE:user' }, 'requestParameters': {'sourceIPAddress': '0.0.0.0' }, 'responseElements': {'x-amz-request-id': 'HOGEHOGEHOGE', 'x-amz-id-2': 'HOGEHOGEHOGEHOGE' }, 's3': {'s3SchemaVersion': '1.0', 'configurationId': '58a19eb6-8f6a-4e09-8a75-2ec70bb2fc9e', 'bucket': {'name': 'testtest-test', 'ownerIdentity': {'principalId': 'HOGEHOGEHOGE' }, 'arn': 'arn:aws:s3: : :test-test' }, 'object': {'key': 'example.txt', 'sequencer': 'HOGEHOGE' } } } ] }
長い辞書でも落ち着いて見ていきます。 まずRecords内には一つしか入ってないので番号は0です。
例えばobjectの中のkeyの中身を参照したいときは Recordsのなかの「0番目」の「s3」の「object」の「key」なので
event["Records"][0]["s3"]["object"]["key"]
このようにかけばexample.txtが表示されるということです。
出力時は
print(event["Records"][0]["s3"]["object"]["key"])
これで出力されます!
順番に[” “]で書いていくだけなので、慣れればわかりやすいですね。