【问题标题】:How to read json data in Python that received the json data from sns如何在 Python 中读取从 sns 接收到的 json 数据的 json 数据
【发布时间】:2022-11-29 15:21:07
【问题描述】:

这是我从 aws sns 通知收到的 json 数据。我想访问 Records->Sns->Message 里面的 deploymentGroupName

在我的 lambda python 代码中,我试图这样做。

eventName = json.loads(event.Records[0].Sns.Message).deploymentGroupName;

这是我收到的 json。

{
    'Records': [{
        'EventSource': 'aws:sns',
        'EventVersion': '1.0',
        'EventSubscriptionArn': 'arn:aws:sns:us-east-1:1236542:project-Deploy-Success:123-654-12-b177-123654',
        'Sns': {
            'Type': 'Notification',
            'MessageId': '6ef313fa-46d2-5841-b162-4805edfb421c',
            'TopicArn': 'arn:aws:sns:us-east-1:428219256379:project-Deploy-Success',
            'Subject': 'SUCCEEDED: AWS CodeDeploy d-E8BYQ65CL in us-east-1 to project-code-deploy',
            'Message': '{"region":"us-east-1","accountId":"213321213321","eventTriggerName":"Sandbox-Deployment-Triggered","applicationName":"project-code-deploy","deploymentId":"d-E8BYQ65CL","deploymentGroupName":"Sandbox-ec2-deployment","createTime":"Tue Nov 29 06:38:20 UTC 2022","completeTime":"Tue Nov 29 06:38:33 UTC 2022","deploymentOverview":"{\\"Succeeded\\":1,\\"Failed\\":0,\\"Skipped\\":0,\\"InProgress\\":0,\\"Pending\\":0}","status":"SUCCEEDED"}',
            'Timestamp': '2022-11-29T06:38:33.558Z',
        }
    }]
}

现在给出这个错误。

[错误] NameError:未定义名称“json” 追溯(最近一次通话): lambda_handler 中的文件“/var/task/lambda_function.py”,第 12 行 eventName = json.loads(event.Records[0].Sns.Message).deploymentGroupName;

【问题讨论】:

    标签: python json lambda aws-lambda


    【解决方案1】:

    如果event周围没有"",那么它已经转换为dict了。但是,你需要为Message处理json

    import json
    
    msg = event['Records'][0]['Sns']['Message']
    deploymentGroupName = json.loads(msg)['deploymentGroupName']
    deploymentGroupName
    

    输出:

    'Sandbox-ec2-deployment'
    

    【讨论】:

      猜你喜欢
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 1970-01-01
      • 2022-12-11
      • 2014-02-22
      • 1970-01-01
      相关资源
      最近更新 更多