2015-07-04 17 views
8

Cố gắng sử dụng KeyConditionExpression theo api động 1 api document bằng cách sử dụng nodejs sdk. KeyConditionExpression không được hỗ trợ với SDK nodejs.Các vấn đề với truy vấn dynamodb với KeyConditionExpression

Đây là những gì tôi đã làm

Tạo bảng có Hash và Range.

Table : TABLE1 
Hash Attribute Name : Provider (String) 
Range Attribute Key : ScheduledEndTime (Number) // In Milli Seconds 

Đây là tải trọng để kích hoạt truy vấn dynamo DB:

{ 
    TableName: 'TABLE1', 
    ConsistentRead: true, 
    Select: "ALL_ATTRIBUTES", 
    KeyConditionExpression: 'Provider = :v_provider AND ScheduledEndTime > :v_scheduledEndTime', 
    ExpressionAttributeValues: { 
    ":v_provider": { 
     S: "amazon" 
    }, 
    ":v_scheduledEndTime": { 
     N: "10" 
    } 
    } 
}; 

Tuy nhiên, tải trọng trên ném dưới đây lỗi

[Error: MultipleValidationErrors: There were 2 validation errors: 
* MissingRequiredParameter: Missing required key 'KeyConditions' in params 
* UnexpectedParameter: Unexpected key 'KeyConditionExpression' found in params] 
[Error: MultipleValidationErrors: There were 2 validation errors: 
* MissingRequiredParameter: Missing required key 'KeyConditions' in params 
* UnexpectedParameter: Unexpected key 'KeyConditionExpression' found in params] 

Theo tài liệu này, nếu chúng ta sử dụng KeyConditionExpression, SDK nên không xem xét khóa KeyConditions và tôi đã thử với sdj nodejs mới nhất. Có điều gì sai trong mẫu tải trọng không?

Trả lời

3

Tôi nghĩ rằng một số địa điểm (Lambda nói riêng) cung cấp cho bạn phiên bản API sai theo mặc định. Khi tôi gặp sự cố này, hãy thay thế bản sao động của tôi bằng cách khắc phục sự cố sau:

var AWS = require("aws-sdk"); 
var dynamo = new AWS.DynamoDB({apiVersion: '2012-08-10'}); 
Các vấn đề liên quan