如何从SNS主题订阅邮件中仅获取更新的S3 Key对象数据
{
"Records": [
{
"eventVersion": "2.0",
"eventSource": "aws:s3",
"awsRegion": "us-east-1",
"eventTime": "2018-01-27T01:24:43.660Z",
"eventName": "ObjectCreated:Put",
"userIdentity": {
"principalId": "AWS:AIDAJNQE6"
},
"requestParameters": {
"sourceIPAddress": "98.210.xxx.xxx"
},
"responseElements": {
"x-amz-request-id": "D464A8CB49C8D082",
"x-amz-id-2": "8g8K1G6b5sSUaxdZyshgxpk2wZR9hUSmj="
},
"s3": {
"s3SchemaVersion": "1.0",
"configurationId": "Radhikas3update",
"bucket": {
"name": "Radhika-test",
"ownerIdentity": {
"principalId": "AG737Y2"
},
"arn": "arn:aws:s3:::radhika-test"
},
"object": {
"key": "test.txt",
"size": 14,
"eTag": "12b9d85febf",
"sequencer": "005A6B"
}
}
}
]
}
如何从SNS主题订阅邮件中仅获取更新的S3 Key对象数据
********Expecting Output*****************
"object": {
"key": "test.txt",
"size": 14,
"eTag": "12b9d85febf",
"sequencer": "005A6B"
}
请帮助获取邮件中的关键值
S3中没有真正的“目录”,因为S3是一个对象存储,每个对象都有一个密钥。 S3存储桶基本上是一组键值对。
通常使用稍微“命名空间”的键,以允许它们看起来像目录。 AWS控制台通过分解这些命名空间组件的键来给出目录文件系统的印象。
例如,我可能有这样的密钥:com/stackoverflow/nicholas.hauschild/secrets.txt
,AWS控制台会给人的印象是secrets.txt
目录中有一个名为com/stackoverflow/nicholas.hauschild/
的'文件'。
在您的示例中,我看不到目录,因为关键是test.txt
。
如果您在示例json中使用我的示例'namespaced'键,它将如下所示:
...
"object": {
"key": "com/stackoverflow/nicholas.hauschild/secrets.txt",
"size": 99999999999999,
"eTag": "12345",
"sequencer": "67890"
}
...
此时您将看到您只需要查看JSON中的key
并从其中处理'目录'的值。