amazon-web-services - 无法从 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
}
}
推荐阅读
- docker - 如何在 docker 上授予 ocrmypdf 权限?
- javascript - 如何根据reactjs中的用户表单输入生成动态pdf证书
- javascript - 如何编写 javascript 函数来来回切换按钮颜色?
- c# - 使用 SimpleJSON 从 Web API 解析 Unity 中的 JSON 数据数组
- grpc-java - 带有拦截器的 grpc-java 身份验证转发:ServerInterceptor 上下文不会传播到 ClientInterceptor
- youtube-api - 当您只有频道 ID 时,我需要帮助了解确定 Youtube 用户名/频道名称
- discord - 使用按钮嵌入分页 (discord_components)
- java - 如何根据特定索引将多个字符数组移动到数组的后面?
- python - 使用databricks中的pyspark将多个json文件从blob存储读取到数据帧
- powershell - 我正在努力编写一个 Powershell 脚本来查询所有域控制器中用户的上次登录