我正在创建一个向 API 发出请求的 AWS 步骤函数。
我正在尝试将从 dynamoDB 检索到的列表发送到接收它的 api。但是,当我发送数组时,它的 dynamoDB 结构格式不正确。
"informacoes": [
{
"M": {
"chave": {
"S": "LSJ33"
},
"valor": {
"N": "39"
},
"numero": {
"S": "22BRQ"
}
}
}
]
我想发送到我的API:
"informacoes": [
{
"chave": "LSJ33",
"valor": "39",
"numero": "22BRQ"
}
]
有人知道我可以解决这个问题吗?
您需要预处理从 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})
}