You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Step Functions工作流中获取DynamoDB getItem的标准JSON结果

在Step Functions中获取DynamoDB getItem的标准JSON结果

方法1:使用AWS SDK集成的Document Client模式

你之前尝试的documentClient写法有误,正确的方式是用标准AWS SDK服务集成ARN,再在参数中启用Document Client格式:

{
  "Type": "Task",
  "Resource": "arn:aws:states:::aws-sdk:dynamodb:getItem",
  "Parameters": {
    "TableName": "你的表名",
    "Key": {
      "entity_id": { "S": "d0e96ad0-4f83-4aa7-bcaf-2cf02c6216cb" }
    },
    "$AWS_STEP_FUNCTIONS_DOCUMENT_CLIENT": true
  },
  "ResultPath": "$.result"
}

添加"$AWS_STEP_FUNCTIONS_DOCUMENT_CLIENT": true后,Step Functions会自动把DynamoDB原生格式转为标准JSON,返回结果就是你需要的:

{ "entity_id": "d0e96ad0-4f83-4aa7-bcaf-2cf02c6216cb" }

方法2:使用ResultSelector手动映射(适合少量字段)

如果不想启用Document Client,也可以通过ResultSelector直接提取字段值:

{
  "Type": "Task",
  "Resource": "arn:aws:states:::dynamodb:getItem",
  "Parameters": {
    "TableName": "你的表名",
    "Key": {
      "entity_id": { "S": "d0e96ad0-4f83-4aa7-bcaf-2cf02c6216cb" }
    }
  },
  "ResultSelector": {
    "entity_id": "$.Item.entity_id.S"
  },
  "ResultPath": "$.result"
}

这种方式需要逐个字段映射,字段多的时候效率低,不如Document Client模式便捷。

注意事项

  • 确保Step Functions执行角色拥有DynamoDB getItem的权限
  • $AWS_STEP_FUNCTIONS_DOCUMENT_CLIENT参数仅适用于ARN以arn:aws:states:::aws-sdk:开头的AWS SDK集成Task

内容的提问来源于stack exchange,提问作者accexs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 23:50:35