从Step Function查询DynamoDB时,“Query condition missed key schema element”

0

【以下的问题经过翻译处理】 我正在尝试在Step Function中查询DynamoDB表,但出现以下错误。

Query condition missed key schema element: Scope (Service: DynamoDb, Status Code: 400, Request ID: FN4G...)

步骤函数任务定义是;

"Obtain user list": {
      "Type": "Task",
      "Parameters": {
        "TableName": "Users",
        "KeyConditionExpression": "#Scope = :Global",
        "ExpressionAttributeNames": {
          "#Scope": {
            "S": "Scope"
          }
        },
        "ExpressionAttributeValues": {
          ":Global": {
            "S": "Global"
          }
        }
      },
      "Resource": "arn:aws:states:::aws-sdk:dynamodb:query",
      "Next": "Pass"
    },

DynamoDB定义是; ![表设置](/media/postImages/original/IM1D-csEKnQZSOo4v3JU5BKw)

这是来自表中的示例项目;

{
  “Scope”:{
    “S”:“Global”
  },
  “ServiceName”:{
    “S”:“driver”
  },
  “lastVisitDateTime”:{
    “N”:“1680022106”
  },
  “Status”:{
    “S”:“ONLINE”
  }
},

有什么指示我缺失了什么吗?谢谢!

profile picture
专家
已提问 8 个月前66 查看次数
1 回答
0

【以下的回答经过翻译处理】 我使用KeyConditions得以使其工作。

{
  "Type": "Task",
  "Parameters": {
    "TableName": "Users,
    "KeyConditions": {
      "Scope": {
        "ComparisonOperator": "EQ",
        "AttributeValueList": [
          {
            "S": "Global"
          }
        ]
      }
    }
  },
  "Resource": "arn:aws:states:::aws-sdk:dynamodb:query",
  "Next": "Pass"
}
profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则