AWS AppSync를 사용하여 Alexa 기술에서 모바일 앱의 표시 내용을 실시간으로 업데이트하는 샘플

소개



AWS AppSync가 도쿄 리전에서도 서비스 시작

그래서Alexaスキル, AWSAppSync, モバイルアプリ 조합
음성 어시스턴트만으로는 전하기 어려운 부분을 보충하기 위해
간단한 샘플을 만들었습니다.

Alexa 스킬의 응답에는 Alexa 앱에서만 볼 수 있는 홈카드 기능이 있지만, 모바일 앱과 보다 부드러운 연동을 목표로 AWSAppSync를 시도하고 있습니다.

확인에는 이하의 샘플 코드를 이용하였습니다.
  • Building a JavaScript Client App
  • tutsplus/appsync-graphql-cities

  • 구성도





    데모



    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の通知を受けてアプリの表示が更新
    


    감사의 말





    다양한 도움을 주셔서 감사합니다 🙏



    기타 참고 URL




    좋은 웹페이지 즐겨찾기