小编spr*_*t_6的帖子

S3 密钥不在 S3 事件通知中

您好,我目前在 s3 存储桶中设置了事件通知。该通知被发送到SNS 主题,然后发送到SQS 队列,最后发送到lambda

我的最终目标是让 lambda 读取事件通知 json 并解析出存储桶和密钥。

问题是,当我使用 python 打印出“ event ”对象时,我在 json 中看到了存储桶名称,但没有看到键。我应该如何/在哪里进行调试以弄清楚发生了什么?我记得在以前的实现中看到过 json 中的密钥

json 看起来像:

{
'Records': [{
    'messageId': '15d42178-c59c-4f3a-8efa-cce8a20acd5b',
    'receiptHandle': 'AQEBnPN7q4+jLFQfExOytZYH69w4kvI4ohjJGFqUqOAvCjRHMfbFFvgEeLVjonZ5q4GAYyzLzDSRQmZv3+YTvE3VYqKmU+Nt0rgX824LoMMkKKMuSWBT6c1a0X5dXRJRzFaOKjpniONRg5Gdm1V9I/7mW0x+Zfi0PXr5cQZXVA1NNUdJ4tIkwtpuC+Rh/dbGFQmAo6fQDuCnpzRW1NKGGda440t3ivtUQMvrniwY8ILKVoX9pnS1rAVgVPGBUo8mXyH9ec9p/Er9O9N5Kxc3xQE44MhHUygD1iJbRROBHG9m0Mj6qbKx4uI7S4KQVWRK8hHkxYFUtP4NzhzcGP1LfY91+zG4mNweGzQkfDbvn0LG9+6guxv9dW+uGz1c3f9My7272s+ABfksvfbNRgPSgwJecg==',
    'body': '{\n  "Type" : "Notification",\n  "MessageId" : "78cadcbb-f349-5bae-b39b-85504866b186",\n  "TopicArn" : "<topic arn>",\n  "Subject" : "Amazon S3 Notification",\n  "Message" : "{\\"Service\\":\\"Amazon S3\\",\\"Event\\":\\"s3:TestEvent\\",\\"Time\\":\\"2021-10-21T19:01:03.083Z\\",\\"Bucket\\":\\"<s3 bucket>\\",\\"RequestId\\":\\"TCJP8AZ6S75XXXPN\\",\\"HostId\\":\\"VYNq+Jh5Hkg+Vykp2RcIy9lSca7uJyhzLPfE8tcgnt3Je9kH0I+H3zvzvJkd6IvfZKZm2jYqu4Q=\\"}",\n  "Timestamp" : "2021-10-21T19:01:03.285Z",\n  "SignatureVersion" : "1",\n  "Signature" : "EE9xsZx8hezxh8Yhyj8DLc+VSGYowl641kHgqr8tWq2msNwOBv4KEZoTtHJ/hdnfNYLEBsR7imsfv5ZrX7nKRKL2kR8xax57tcih7GRbifIuFyrs9wAhtcuclf2NJQG4eY9OrOHHxPN3fSvNI9xduPeBrxB2TAfbTcWq4AeN0C4KriV18J2dU28ecMJGtmqK0JM+2KLEuwQe/dyYiEnEnWu5EfGweDhYCRvmB1aUPRcW4s3yOHIckklmHhBLkbmufl1me/hdO7GEGa1ju8wJDF33hmmCCSE6M7ITl9niWICBtvWlFz1Md5OiswyriRyN4LZjmvEjzRZtNwy/qMkDYA==",\n  "SigningCertURL" : "<cert url>",\n  "UnsubscribeURL" : "<unsubscribe url>"\n}',
    'attributes': {
        'ApproximateReceiveCount': '34',
        'SentTimestamp': <timestamp>,
        'SenderId': …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-sqs amazon-web-services amazon-sns aws-lambda

2
推荐指数
1
解决办法
1211
查看次数

并行迭代字典中所有键的值列表?

你好,我有一个 python 字典,如下所示:

d = {'a': [1,2,3],
     'b': [3,4,5],
     'c':[6,7,8]}
Run Code Online (Sandbox Code Playgroud)

有什么方法可以迭代这个字典,以便我可以并行地按顺序获取所有键中所有列表值中的每个项目?请记住,我没有pandas可用的包裹。

例如:

loop 1 output: a:1,b:3,c:6
loop 2 output: a:2,b:4,c:7
loop 3 output: a:3,b:5,c:8
Run Code Online (Sandbox Code Playgroud)

您可以假设字典中所有键的列表长度都相同。

python

0
推荐指数
1
解决办法
361
查看次数