web-dev-qa-db-ja.com

AWS API Gateway DynamoDB GetItem、ソートキーなし?

私は以下の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"
}

これに続いて application/json body mappingテンプレートを実装しました:

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

これは、主キーと並べ替えキーに一致した1つのアイテムを返します。

ここで、一致するすべてのprimary_keyアイテムを返したい、つまりsort_keyなしで返したい

どうすればそれを達成できますか? APIゲートウェイボディマッピングテンプレートを使用していますか?

また、APIは「S」の種類ではなく一般的なjsonを返すことができます ここでは属性を指定しますintegration responseでハードコーディングしないことで実行できます

7
Garvit Jain

getitem AP​​Iには、ハッシュキーとソートキーの両方が必要です。ただし、ハッシュのみでquery apiを使用できます。

クエリAPI

KeyConditionExpressionパラメーターを使用して、パーティションキーに特定の値を指定します。 Query操作は、テーブルまたはインデックスから、そのパーティションキー値を持つすべてのアイテムを返します。必要に応じて、KeyConditionExpressionで並べ替えキーの値と比較演算子を指定することにより、クエリ操作のスコープを絞り込むことができます。クエリ結果をさらに絞り込むために、オプションでFilterExpressionを提供できます。 FilterExpressionは、結果内のどのアイテムを返すかを決定します。他のすべての結果は破棄されます。

9
notionquest