Alexa Lambda 함수를 처음부터 작성하는 방법

Alexa Skill의 Lambda 함수를 만드는 방법은 Alexa 도장에서 "도면"템플릿에서 만드는 방법을 소개합니다.
그렇지만, 이 경우, 원래의 설계도의 샘플 코드가 들어가 있어, 그것을 편집해 가는 것은 번거롭거나, 무엇보다, 함수명의 일부는 변경할 수 없고, 함수명이 길고 기분이 나쁘습니다.
그래서 ' 처음부터 만들기 '를 사용하여 로컬 환경에서 만든 프로젝트를 업로드하는 방법을 소개합니다.
어느 쪽인가 하면 비망록입니다.

Node.js 프로젝트 작성 및 index.js 작성



먼저 로컬 드라이브에서 프로젝트를 만들고 package.json를 만듭니다.
$ mkdir SKILL_DIRECTORY
$ cd SKILL_DIRECTORY
$ npm init
npm init 에서는 package name 등을 듣습니다만, 우선 그대로 [Enter] 합니다.

그런 다음 Alexa 모듈을 추가합니다.
$ npm install ask-sdk

그러면 node_modules라는 폴더가 만들어지고 여기에 ask-sdk 모듈이 다음과 같이 추가됩니다.


폴더


.bin

ask-sdk

ask-sdk-core

ask-sdk-dynamodb-persistence-adapter

ask-sdk-model

ask-sdk-runtime

aws-sdk

base64-js

buffer

...


여기서 불필요한 모듈의 폴더를 삭제합니다. 필요한 모듈의 폴더로만 설정합니다.aws-sdk 는 Lamdba에 있으므로 삭제합니다.
기타 base64-jsask로 시작하지 않는 모듈의 폴더를 삭제합니다.ask로 시작하는 모듈은 해당 폴더에 package.json 파일이 있습니다.
이 파일을 열고 _where를 찾으면 로컬 폴더의 위치를 ​​찾을 수 있습니다. 리포지토리에서 사용하는 것 같습니다만, 로컬 폴더를 아는 것이 싫다면 삭제해 버립니다.
또한 node_modules와 동일한 폴더에 package-lock.json가 만들어집니다.
여기에는 설치한 패키지 목록과 다른 패키지 간의 종속성이 포함되어 있습니다. 위에서 삭제한 base64-js 등의 기재된 블록은 기재를 삭제합니다.
기재를 바꾸지 않아도, 여기서 설명하는 「1부터 작성」에서는 아무런 영향이 없습니다만, ASK CLI로 deploy 한다(업로드 한다) 하게 되면, 이 package.json 에 기재가 있는 파일이, 로컬 PC 상에 존재하지 않는 경우, 자동적으로 서버로부터 다운로드해, ​​그것을 함께 deploy 하는 것 같기 때문에, 지워 두는 편이 무난합니다.

그런 다음 기본 index.js를 만듭니다. 이 파일이 호출 파일이 됩니다. 직접 몇 가지 기본 파일을 준비합니다. 이것은 SKILL_DIRECTORY 바로 아래에 놓습니다.

그런 다음 index.jsnode_modules 폴더를 zip으로 압축합니다.

zip 파일을 Lambda에 업로드



AWS의 Lambda 함수에서 함수 생성에서 처음부터 생성을 선택하고 함수 이름을 자유롭게 지정한 다음 함수 생성 버튼을 누릅니다.


그런 다음 함수 코드의 코드 항목 유형을 ".zip 파일 업로드"를 선택하고 zip 파일을 업로드합니다.

이제 엔드포인트 등을 설정하면 Alexa developer console에서 만든 함수를 호출할 수 있습니다.

좋은 웹페이지 즐겨찾기