我正在尝试使用AWS的步骤函数PutItem到DynamoDB。
我设法用简单的字符串字段(S)保存了Item,但是其中一个字段应该存储整个JSON有效负载。所以它应该是Map (M)。
但我的有效负载也包含嵌套地图。
JSON示例:
{
"firstMap": {
"field": "something",
},
"secondMap": {
"nestedMap": {
"field": "something",
},
"anotherNestedMap": [
{
"field": "something",
"oneMoreNestedMap": {
"andOneMore": {
"field": "something",
},
"arrayComesHere": [
{
"andAgainNestedMap": {
"field": "something",
},
"andAgain": [
{
"field": "something",
"alsoNestedArray": [
{
"field": "something"
}
]
}
]
}
]
},
"letItBeFinalOne": [
{
"field": "something"
}
]
}
]
...我想要做的只是说,嘿,步骤函数,请将整个JSON插入到项目字段中,如下所示
"Item": {
...
"whole_payload": {
"M.$": "$"
},
} ...但它失败了,因为它只接受一个要处理的Map。因此,我需要直接迭代所有嵌套的映射,并用'M‘标记它们。
有没有办法让它自己解决这个问题?
就像在Typescript中一样,我可以使用aws.DynamoDB.DocumentClient(),只需将整个JSON放到字段中,它就会自动解析所有的映射
发布于 2021-05-17 11:55:32
遇到AWS Step functions团队的类似请求线程。新的增强功能可以让你更接近你正在寻找的东西。
示例代码片段:
...
"Parameters": {
"TableName" : "dynamodb-table",
"Item":{
"requestId" : {
"S.$": "$.requestId"
},
"payload": {
"S.$":"States.JsonToString($)"
}
}
...https://stackoverflow.com/questions/66954926
复制相似问题