AWS DynamoDB GetItem 在步骤函数中使用索引

AWS DynamoDB GetItem using index in step function

我有一个 DynamoDB table 具有以下特征(出于安全原因更改名称)-

表名 - ABC

索引 - XYZ 索引(这是一个全球二级索引 (GSI))

索引的分区键 - XYZ

我在步进函数中有一个状态,看起来像这样 -

"STATE NAME": {
              "Type": "Task",
              "Resource": "arn:aws:states:::dynamodb:getItem",
              "Parameters": {
                "TableName": "ABC",
                "IndexName": "XYZ-index",
                "Key": {
                  "XYZ": {
                    "S.$": "$.Main.Item.Request.ID"
                  }
                }
              },
              "ResultPath": "$.SOME_PATH",
              "Next": "NEXT STATE"
            }

我正在尝试使用步进函数的这种状态,使用其中一个索引从 DynamoDB table 获取项目。当我尝试保存状态机时,出现不支持字段 IndexName 的错误。

那么如何通过在阶梯函数状态下查询 table 的 GSI 从 DynamoDB table 获取项目?

我们需要为 GSI 使用查询 Api,我相信状态机仅支持获取、放置、更新和删除 DynamoDB 项目 APIs,但不支持查询。 IndexName 不是 getItem 中的选项。