没有排序键的AWS API Gateway DynamoDB GetItem?

时间:2018-05-30 07:56:23

标签: amazon-web-services amazon-dynamodb aws-api-gateway

我有一个带有以下

的Dynamo Db表
{
  "primary_key": {
    "S": "series"
  },
  "sort_key": {
    "S": "type-of-brokers"
  },
  "title": {
    "S": "Types Of Brokers"
}
,
{
  "primary_key": {
    "S": "series"
  },
  "sort_key": {
    "S": "type-of-brokers-2"
  },
  "title": {
    "S": "Types Of Brokers-2"
}

Following this我已经实现了application / json body mapping模板:

{
    "TableName": "table_name",
    "Key" :{
        "primary_key" :{
            "S": "series"
        },
        "sort_key" : {
            "S": "type-of-brokers"
        }
    }
}

它返回一个与主键和排序键匹配的项目!

现在我想返回所有匹配的primary_key项,即不sort_key

我如何实现这一目标?使用API​​网关体映射模板?

另外,api可以返回常见的json而不是“S”类here it specify attributes,是否可以通过integration response中的非硬编码来完成

1 个答案:

答案 0 :(得分:4)

getitem API需要散列和排序键。但是,您可以仅使用query api。

Query API

  

使用KeyConditionExpression参数提供特定值   对于分区键。 Query操作将返回所有   具有该分区键值的表或索引中的项。您可以   通过指定a,可以选择缩小Query操作的范围   在KeyConditionExpression中对键值和比较运算符进行排序。至   进一步细化查询结果,您可以选择提供一个   FilterExpression。 FilterExpression确定了哪些项目   结果应该归还给你。所有其他结果都是   丢弃。