1

aws-sdkを使用して AWS の dynamodb とやり取りしようとしています

これが私のコードです:

DynamoDB.putItem({
    "TableName": tblName,
    "Item": {
        "UserId": { "N": obj.user_id.toString() },
        "Identifier": { "S": obj.identifier },
        "ReferralToken": { "S": obj.referral_token },
        "CampaignId": { "N": obj.campaign_id.toString() },
        "FirstName": { "S": obj.first_name },
        "LastName": { "S": obj.last_name },
        "Gender": { "S": obj.gender },
        "BirthDate": { "S": obj.birthdate },
        "Username": { "S": obj.username },
        "MobileNumber": { "S": obj.mobile_number },
        "PostalCodeText": { "S": obj.postal_code_text },
        "Classification": { "S": obj.classification },
        "DeliveryEmail": { "S": obj.delivery_email.toString() },
        "DeliverySMS": { "S": obj.delivery_sms.toString() }
    }
}, function (err, data) {
    console.log(err);
    console.log(data);
});

私が受け取っているエラーは

{ [ValidationException: Supplied AttributeValue is empty, must contain exactly one of the supported datatypes]
  message: 'Supplied AttributeValue is empty, must contain exactly one of the supported datatypes',
  code: 'ValidationException',
  time: Fri Oct 10 2014 10:15:25 GMT-0500 (CDT),
  statusCode: 400,
  retryable: false }

何が間違っているのかわからない

4

2 に答える 2

3

Put Itemのドキュメントによると、

項目を追加する場合、必須属性は主キー属性のみです。属性値を null にすることはできません。文字列およびバイナリ型の属性の長さは、0 より大きい必要があります。セット タイプの属性を空にすることはできません。値が空のリクエストは、ValidationException例外を除いて拒否されます。

したがって、すべての値が null でないこと、およびすべての文字列の長さが 0 より大きいことを確認してください。

于 2014-10-15T12:30:04.930 に答える