簡體   English   中英

在alexa技能中使用aws-sdk

[英]Use aws-sdk in alexa skill

我正在嘗試開發一種從 DynamoDB 數據庫中獲取信息的 Alexa 技能。 為了使用它,我必須導入aws-sdk

但是由於某種原因,當我導入它時,我的技能停止工作。 連技能都打不開。 我的代碼是從 Alexa 開發人員控制台托管的。 這是發生的事情:

在測試面板中,當我輸入“Open Cricket Update”(應用程序名稱)時,Alexa 的響應是“請求的技能響應存在問題”。 這僅在我導入 aws-sdk 時發生。

我究竟做錯了什么?

索引.js

const Alexa = require('ask-sdk-core');
const AWS = require('aws-sdk');
AWS.config.update({region:'us-east-1'});

const table = 'CricketData';
const docClient = new AWS.DynamoDB.DocumentClient();

const LaunchRequestHandler = {
    canHandle(handlerInput) {
        return Alexa.getRequestType(handlerInput.requestEnvelope) === 'LaunchRequest';
    },
    handle(handlerInput) {
        const speakOutput = 'Hello! Welcome to cricket update.';
        return handlerInput.responseBuilder
            .speak(speakOutput)
            .reprompt(speakOutput)
            .getResponse();
    }
};

包.json

{
  "name": "hello-world",
  "version": "1.1.0",
  "description": "alexa utility for quickly building skills",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Amazon Alexa",
  "license": "ISC",
  "dependencies": {
    "ask-sdk-core": "^2.6.0",
    "ask-sdk-model": "^1.18.0",
    "aws-sdk": "^2.326.0"
  }
}

您缺少 index.js 末尾的exports.handler塊,該塊“構建”了由您的處理程序組成的技能,例如

exports.handler = Alexa.SkillBuilders.custom()
.addRequestHandlers(LaunchRequestHandler)
.lambda();

可以在此處找到更完整的示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM