如何使用 AWS 步骤功能将列表发送到 API

问题描述 投票:0回答:1

我正在创建一个向 API 发出请求的 AWS 步骤函数。

我正在尝试将从 dynamoDB 检索到的列表发送到接收它的 api。但是,当我发送数组时,它的 dynamoDB 结构格式不正确。

 "informacoes": [
            {
                "M": {
                    "chave": {
                        "S": "LSJ33"
                    },
                    "valor": {
                        "N": "39"
                    },
                    "numero": {
                        "S": "22BRQ"
                    }
                }
            }
        ]

我想发送到我的API:

 "informacoes": [
        {          
                "chave": "LSJ33",
                "valor": "39",
                "numero": "22BRQ"                        
        }
    ]

有人知道我可以解决这个问题吗?

amazon-dynamodb aws-step-functions
1个回答
0
投票

您需要预处理从 dynamodb 接收的数据,因为它通常返回 data 以及数据类型,

M
代表此处的
Map

您可以将 lambda 作为新状态集成到步骤函数中,并在其中输入 dynamodb 数据以对其进行预处理。

import json

def lambda_handler(event, context):
informacoes = event['informacoes']

# Transform the DynamoDB format to the desired format
transformed_informacoes = []
for info in informacoes:
    transformed_info = {
        "chave": info['M']['chave']['S'],
        "valor": info['M']['valor']['N'],
        "numero": info['M']['numero']['S']
    }
    transformed_informacoes.append(transformed_info)

return {
    'statusCode': 200,
    'body': json.dumps({'informacoes': transformed_informacoes})
}
© www.soinside.com 2019 - 2024. All rights reserved.