Dynamo DB Access问题AWS Lambda

时间:2020-02-08 15:04:45

标签: aws-lambda amazon-dynamodb alexa-skill

Dynamo DB功能:

function putInDB(u_id,h_id){
   var params = {
            TableName:"Nucleus_id",
            Item:{
                "user_id": u_id,
                "hub_id":h_id,
            }
        };
        console.log("Updating the item...");
       docClient.put(params)
        // docClient.put(params, function(err, data) {
        // if (err) {
        //     console.log(err);
        //     //return callback(null,{"ERROR_ID":"9","SUCCESS":"false"});
        // } else {
        //   // return callback(null,{"SUCCESS":"true","message":params});
        // }
        // });

}

意图:

const AddHubID_Handler =  {
canHandle(handlerInput) {
    const request = handlerInput.requestEnvelope.request;
    return request.type === 'IntentRequest' && request.intent.name === 'AddHubID' ;
},
handle(handlerInput) {
    const request = handlerInput.requestEnvelope.request;
    const responseBuilder = handlerInput.responseBuilder;
    let sessionAttributes = handlerInput.attributesManager.getSessionAttributes();

    let say = 'Hello from AddHubID. ';

    let slotStatus = '';
    let resolvedSlot;

    let slotValues = getSlotValues(request.intent.slots); 
    // getSlotValues returns .heardAs, .resolved, and .isValidated for each slot, according to request slot status codes ER_SUCCESS_MATCH, ER_SUCCESS_NO_MATCH, or traditional simple request slot without resolutions

    // console.log('***** slotValues: ' +  JSON.stringify(slotValues, null, 2));
    //   SLOT: id 

    var params={}
    if (slotValues && slotValues.id){
        putInDB( handlerInput.requestEnvelope.context.System.user.userId,slotValues.id.heardAs)


    say="your hub id is "+slotValues.id.heardAs + " has been saved ";
    }


    return responseBuilder
        .speak(say)
        .reprompt('try again, ' + say)
        .getResponse();
},

};

嗨,大家好,Noob。我正在构建alexa技能并使用AWS lambda Node.js 我在docClient.put(params)上收到访问被拒绝的错误。 我添加了以下策略: enter image description here

我确定调用函数的方式有问题。请帮忙。

0 个答案:

没有答案