Node.js에 작성된 Lambda 함수를 사용하여 SNS에 성공적으로 게시합니다. Alexa Lambda 함수에서 Alexa 의도 내에서 동일한 함수를 넣을 때 코드의 Alexa 부분을 주석 처리해야만 실행됩니다. 그때 나는 내 알렉사 람다 함수에서 함수 내에서 SNS의 코드를 삽입하려고하면, 그것은 실행되지 않습니다AWS 내에서 SNS에 게시 Lambda Alexa Intent, Node.js
var AWS = require("aws-sdk");
exports.handler = function() {
var sns = new AWS.SNS();
var params = {
Message: "Cheese",
Subject: "Test SNS From Lambda",
TopicArn: "arn:aws:sns:us-east-1:xxxxxxx:MyTopic"
};
sns.publish(params, function(){});
};
:
이
작동 독립 실행 형 람다 기능입니다. 알렉사 코드의 나머지 부분은 잘 작동하지만 SNS에는 아무 것도 게시되지 않습니다. 그러나 내가 알렉사 부분을 주석 처리한다면 실제로 작동합니다.exports.handler = function(event, context) {
var sns = new AWS.SNS();
var params = {
Message: "Cheese",
Subject: "Test SNS From Lambda",
TopicArn: "arn:aws:sns:us-east-1:xxxxxxx:MyTopic"
};
sns.publish(params, function(){});
const alexa = Alexa.handler(event, context);
alexa.APP_ID = APP_ID;
alexa.resources = languageStrings;
alexa.registerHandlers(newSessionHandlers, memberModeHandlers);
alexa.execute();
};
나는에 알렉사 물건을 모두 주석 경우
이
은 (AWS-SDK는 파일의 상단에 포함이 예에서 생략) 작동하지 않는 코드입니다 exports.handler 함수를 호출하면 SNS가 작동하지만 분명히 나머지 응용 프로그램은 실패합니다. 이처럼이 작동합니다 : 여기에 무슨 일이 일어나고 있는지에 관해서는
exports.handler = function(event, context) {
var sns = new AWS.SNS();
var params = {
Message: "Cheese",
Subject: "Test SNS From Lambda",
TopicArn: "arn:aws:sns:us-east-1:xxxxxxx:MyTopic"
};
sns.publish(params, function(){});
/*
const alexa = Alexa.handler(event, context);
alexa.APP_ID = APP_ID;
// To enable string internationalization (i18n) features, set a resources object.
alexa.resources = languageStrings;
alexa.registerHandlers(newSessionHandlers, memberModeHandlers);
alexa.execute();
*/
};
어떤 생각? 이상적으로 내가하고 싶은 것은 sns 게시 코드를 별도의 함수에 넣은 다음 Alexa 기술 중 한 지점에서 호출되는 의도에서 호출하는 것이지만 지금까지는 Alexa와 함께이 작업을 수행 할 수 없습니다. 암호.