2017-05-09 53 views
0

我一直在使用DynamoDB處理API網關。以下地圖模板允許我從AWS API網關生成單個JSON響應。從AWS API網關生成多個響應

{ 
    "TableName": "NPddb" 
    "PrimaryKey": "id", 
    "KeyConditionExpression": "id = :v1", 
    "ExpressionAttributeValues": { 
     ":v1": { 
      "S": "$input.params('id')" 
     } 
    } 
} 

這將導致一個很好的JSON發佈在指定的「ID」。

這一切都很好,但如何返回說兩個項目,甚至整個表?這是否在lambda呼叫下?

+0

您應該參考Query和Scan的dynamodb api文檔http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Scan.html –

回答

1

解決的辦法是在DynamoDB表中創建全局二級索引並查詢它。在這種情況下,我正在查詢字符串「atype」的GSI「atype-in​​dex」。

{ 
    "TableName": "NPddb", 
    "IndexName": "atype-index", 
    "KeyConditionExpression": "atype = :v1", 
    "ExpressionAttributeValues": { 
     ":v1": { 
      "S": "$input.params('atype')" 
     } 
    } 
}