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 中的选项。
我有一个 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 中的选项。