Pythonの辞書(すごく複雑な場合)

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"])

これで出力されます!

順番に[” “]で書いていくだけなので、慣れればわかりやすいですね。