앞으로 Alexa 스킬을 만드는 분들에게, 구조를 쭉 씹어 봤다
1767 단어 알렉사달콤한AWSLambdaAlexaSkillsKitAWS
확실히 그렇습니다만, 개념도 모르게 만드는 것은, 신입 사원이 「이것은 이런 것이니까 하라」라고 불합리한 교육을 받는 것 같은 것이므로,
몇 가지 스킬을 만들어 나 나름대로 이해한 내용을 씹어서 설명하고 싶습니다.
이 개념을 알면, 문제가 일어났을 때, 어디를 보면 좋은가가 재빨리 알까.
그럼 우선 전체의 구성을 살펴보겠습니다.
전체 구성
전체의 구성을 도해하면 이런 느낌입니다.
고급 스킬은 이에 한정되지 않는 경우도 있지만 설명하기 쉽도록 최소한의 구성으로 하고 있습니다.
여기에서 각 블록마다 설명을 해 나갑니다.
프런트 엔드: Alexa developer console
사용자가 말한 내용을 파싱하고 시작할 의도를 결정하는 부분.
요컨대, 발화 내용을 데이터에 떨어뜨리는 부분이군요.
데이터에 떨어진 것을 JSON으로 변환하여 Lambda로 보냅니다.
발화 내용과 관련된 설정은 이 부분을 변경합니다.
백엔드: AWS Lambda
백엔드라고 하면 여러가지 귀찮은 처리를 하는 이미지가 있습니다만, 실은 Lambda측은 룰에 따라서 JSON포맷의 커멘드를 만들고 있을 뿐.
그만큼의 역할이므로, 프런트 엔드로부터 인텐트로 받은 정보를 어떻게 요리하는지를 생각하면 좋을 것입니다.
따라서 어느 정도 언어에 자유도가 있습니다. 저는 파이썬을 공부의 일환으로 사용하고 있습니다.
다만, Alexa 스킬 관계의 기술 정보는 JS를 예로 취하는 것이 많기 때문에, 특별한 이유가 없으면 JS가 좋다고 생각합니다.
디버그 로그: AWS Cloudwatch logs
우수한 로깅 서비스입니다.
JSON에서 교환하고 있는 프런트 엔드와 백엔드 사이의 통신 로그를 자동으로 취해 주는 스그레모노.
의도하지 않은 인텐트가 호출되고 있다는 것은 이것이 없으면 디버깅이 어려울 것입니다.
또, Lambda로 print문을 쓰거나 하면 여기에 기록되기 때문에, 실행 순서나 변수의 내용을 보는데도 사용할 수 있습니다.
필드 테스트 때 등에도 사용할 수 있네요.
요약
심플을 목표로 하기 위해, 매우 섬세한 설명이 되었습니다만, 어느 정도 구성의 전모를 알 수 있으면 다행입니다.
이것을 이해하는지 여부는 개발 속도가 크게 다르다고 생각합니다.
아직도 뛰어난 기술이지만, Amazon이 공식적으로 공개하고 있는 문서의 종류가 상당히 알기 쉽고 우수하기 때문에, 허들을 내려 줍니다.
코드량도 그리 많지 않아서 시작되기 때문에 프로그래밍 연습에 사용해도 좋을지도 모르겠네요.
엔조이스킬 라이프!
Reference
이 문제에 관하여(앞으로 Alexa 스킬을 만드는 분들에게, 구조를 쭉 씹어 봤다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/no-use-kuro/items/4902b32e2cecef04b67f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
사용자가 말한 내용을 파싱하고 시작할 의도를 결정하는 부분.
요컨대, 발화 내용을 데이터에 떨어뜨리는 부분이군요.
데이터에 떨어진 것을 JSON으로 변환하여 Lambda로 보냅니다.
발화 내용과 관련된 설정은 이 부분을 변경합니다.
백엔드: AWS Lambda
백엔드라고 하면 여러가지 귀찮은 처리를 하는 이미지가 있습니다만, 실은 Lambda측은 룰에 따라서 JSON포맷의 커멘드를 만들고 있을 뿐.
그만큼의 역할이므로, 프런트 엔드로부터 인텐트로 받은 정보를 어떻게 요리하는지를 생각하면 좋을 것입니다.
따라서 어느 정도 언어에 자유도가 있습니다. 저는 파이썬을 공부의 일환으로 사용하고 있습니다.
다만, Alexa 스킬 관계의 기술 정보는 JS를 예로 취하는 것이 많기 때문에, 특별한 이유가 없으면 JS가 좋다고 생각합니다.
디버그 로그: AWS Cloudwatch logs
우수한 로깅 서비스입니다.
JSON에서 교환하고 있는 프런트 엔드와 백엔드 사이의 통신 로그를 자동으로 취해 주는 스그레모노.
의도하지 않은 인텐트가 호출되고 있다는 것은 이것이 없으면 디버깅이 어려울 것입니다.
또, Lambda로 print문을 쓰거나 하면 여기에 기록되기 때문에, 실행 순서나 변수의 내용을 보는데도 사용할 수 있습니다.
필드 테스트 때 등에도 사용할 수 있네요.
요약
심플을 목표로 하기 위해, 매우 섬세한 설명이 되었습니다만, 어느 정도 구성의 전모를 알 수 있으면 다행입니다.
이것을 이해하는지 여부는 개발 속도가 크게 다르다고 생각합니다.
아직도 뛰어난 기술이지만, Amazon이 공식적으로 공개하고 있는 문서의 종류가 상당히 알기 쉽고 우수하기 때문에, 허들을 내려 줍니다.
코드량도 그리 많지 않아서 시작되기 때문에 프로그래밍 연습에 사용해도 좋을지도 모르겠네요.
엔조이스킬 라이프!
Reference
이 문제에 관하여(앞으로 Alexa 스킬을 만드는 분들에게, 구조를 쭉 씹어 봤다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/no-use-kuro/items/4902b32e2cecef04b67f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
심플을 목표로 하기 위해, 매우 섬세한 설명이 되었습니다만, 어느 정도 구성의 전모를 알 수 있으면 다행입니다.
이것을 이해하는지 여부는 개발 속도가 크게 다르다고 생각합니다.
아직도 뛰어난 기술이지만, Amazon이 공식적으로 공개하고 있는 문서의 종류가 상당히 알기 쉽고 우수하기 때문에, 허들을 내려 줍니다.
코드량도 그리 많지 않아서 시작되기 때문에 프로그래밍 연습에 사용해도 좋을지도 모르겠네요.
엔조이스킬 라이프!
Reference
이 문제에 관하여(앞으로 Alexa 스킬을 만드는 분들에게, 구조를 쭉 씹어 봤다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/no-use-kuro/items/4902b32e2cecef04b67f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)