1

私のラムダスクリプトは次のとおりです。

var AWS = require("aws-sdk");
var DOC = require("dynamodb-doc");
AWS.config.update({region: "us-west-1"});
var docClient = new DOC.DynamoDB();
var dynamodb = new AWS.DynamoDB();

exports.handler = function(event, context) {
    var params = {};
    params.TableName = "Emails";
    params.ConditionalOperator = "AND";
    params.ScanFilter = {
        Machinekey:{
            ComparisonOperator:"EQ",
            AttributeValueList: [{S: "okok"}]
        }
    };
    params.Select= "COUNT";

    //params.IndexName = "Machinekey-index";
    //params.KeyConditions = docClient.Condition("EmailId", "NOT_NULL");
    //params.QueryFilter = docClient.Condition("Machinekey", "EQ","ARUZE-010415_15112442NLHIYTLY-A23V3.9");
    dynamodb.scan(params, function(err, data) { 
    if (err) {
        console.log(err, err.stack);
    } else {
        //console.log(data);
        context.succeed(data.Count);
    }
});
};

実行ログの結果:

[ValidationException: ConditionalOperator は、Filter または Expected に 2 つ以上の要素がある場合にのみ使用できます] メッセージ: 'ConditionalOperator は、Filter または Expected に 2 つ以上の要素がある場合にのみ使用できます'、コード: 'ValidationException'、時間: Wed Jun 10 2015 03 :12:34 GMT+0000 (UTC), statusCode: 400, 再試行可能: false,

私を助けてください!

4

1 に答える 1