如何解决无法从AWS StepFunctions中正确插入DynamoDB项
我已经在AWS StepFunctions中编写了一个状态,以将一个项目插入DynamoDB表,如下所示。 Lambda状态的输出转到DynamoDB状态以下的输入。
"States":{
"Update the order table":{
"Type":"Task","Resource":"arn:aws:states:::dynamodb:putItem","Parameters":{
"TableName":"OrderTable","Item":{
"OrderId":{
"S":"$.OrderId"
},"ItemName":{
"S":"$.ItemName"
},"Price":{
"S":"$.Price"
},"CC":{
"S":"$.CC"
}
}
},"End":true
}
}
文字字符串“ $ .OrderId”,“ $。ItemName”等将被插入DynamoDB表中,而不是Lambda函数中的值。
因此,我删除了“ $ .OrderId”周围的双引号,并得到以下错误。
DynamoDB状态的输入是正确的,但仍然无法将Lambda的输出插入DynamoDB表中。
任何帮助将不胜感激。
解决方法
这是您的任务定义的外观。请注意,每个项目属性的数据类型后面都带有$
符号。
"States":{
"Update the order table":{
"Type":"Task","Resource":"arn:aws:states:::dynamodb:putItem","Parameters":{
"TableName":"OrderTable","Item":{
"OrderId":{
"S.$":"$.OrderId"
},"ItemName":{
"S.$":"$.ItemName"
},"Price":{
"S.$":"$.Price"
},"CC":{
"S.$":"$.CC"
}
}
},"End":true
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。