AWS AppSync를 사용하여 Alexa 기술에서 모바일 앱의 표시 내용을 실시간으로 업데이트하는 샘플
소개
AWS AppSync가 도쿄 리전에서도 서비스 시작
그래서
Alexaスキル
, AWSAppSync
, モバイルアプリ
조합음성 어시스턴트만으로는 전하기 어려운 부분을 보충하기 위해
간단한 샘플을 만들었습니다.
Alexa 스킬의 응답에는 Alexa 앱에서만 볼 수 있는 홈카드 기능이 있지만, 모바일 앱과 보다 부드러운 연동을 목표로 AWSAppSync를 시도하고 있습니다.
확인에는 이하의 샘플 코드를 이용하였습니다.
구성도
데모
Echosim.io와 Say 명령을 결합하여 기술 테스트를 실행하고 있습니다.
아래의 동영상에서는 Alexa 스킬을 트리거로 AWSAppSync 경유로 DynamoDB에 데이터를 추가해, 앱으로 표시되고 있는 도시명의 일람을 갱신시키고 있습니다.
AWS AppSync 동작 확인 샘플 htps // t. 코 / 5 m 피아아 — 사토신 (@satoshin2071) February 28, 2018
절차
1. AWS AppSync 설정
기사 참조
AWS AppSync의 Schema, DataSources, Mapping Templates를 설정합니다.
2. 모바일 앱 측 설정
샘플 코드를 그대로 사용합니다.
변경 부분은 한 점으로, 샘플 코드의 aws-exports.js
를 아래에서 다운로드한 내용에 근거해 수정합니다.
이 시점에서 실시간 업데이트 처리를 확인할 수 있습니다.
3-1. AlexaSkill 설정 개발자 포털편
개발자 콘솔에서 AlexaSkillsKit을 선택하여 새로운 기술을 추가하고, 대화 모델을 설정하고, Lambda와 연결하고 테스트할 수 있습니다.
(※ 이번에는 Alexa가 호출 이름에 응답 한 타이밍에서 처리를 실행하고 있으므로 대화 모델은 거의 설정하지 않습니다)
3-2. AlexaSkill 설정 Lambda편
AWS Lambda에서 함수를 생성합니다.
로컬 개발 환경은 다음과 같습니다.
% node --version
v8.9.4
% npm --version
5.6.0
샘플 코드는 Gists에 있습니다.
index.js
, aws-exports.js
, package.json
를 떨어 뜨려 aws-exports.js를 잘 다시 씁니다.
npm install
를 실행하여 생성 된 node_modules
, package-lock.json
를 zip으로 굳혀 Lambda에 업로드합니다.
% zip -r Hoge.zip index.js aws-exports.js package.json node_modules package-lock.json
3-3. 테스트
데모 동영상은 Echosim.io를 사용하지만
개발자 콘솔의 서비스 시뮬레이터로 테스트할 수 있습니다.
Xcode 시뮬레이터를 시작하고 실행하면 아래의 흐름으로 데모 동영상과 마찬가지로 표시가 전환될 것입니다.
開発者コンソールにて呼び出し名を入力して実行
↓
lambdaのindex.js'LaunchRequest':functionの処理が実行
↓
AppSynchでDynamoDBにデータ追加, Subscriptionに通知
↓
Subscriptionの通知を受けてアプリの表示が更新
감사의 말
- AWS AppSync (Preview)를 사용해 보았습니다.
- AWS AppSync와 React로 ToDo 앱을 만들자 (0) 시작하기
- Code an App With GraphQL, React Native, and AWS AppSync: The Back-End
다양한 도움을 주셔서 감사합니다 🙏
기타 참고 URL
- Alexa 기술 개발 교육
- Apollo graphql
- AWS AppSync Developer Guide
- AWS re:Invent 2017: NEW LAUNCH! Data Driven Apps with GraphQL: AWS AppSync Deep Dive (MBL402)
Reference
이 문제에 관하여(AWS AppSync를 사용하여 Alexa 기술에서 모바일 앱의 표시 내용을 실시간으로 업데이트하는 샘플), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/satoshin2071/items/645a3e7872d9004721dc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)