Lambda에 Alexa Smart Home 트리거를 AWS CLI/Terraform에서 추가

결론부터 먼저 말하면


  • AWS CLI에서 add-permission을 실행합니다. 이 때 다음 설정이 필요합니다.
  • principal 에 alexa-connectedhome.amazon.com 를 지정
  • event-source-token 에 Alexa Smart HomeのスキルID 를 지정
  • source-arn은 특별히 지정하지 않는다

  • terraform에서 event-source-token을 지정할 수 없기 때문에 Alexa Smart Home의 트리거는 설정할 수 없음 (2018/06/01 현재)
  • terraform에서도, version 1.29.0 이후의 AWS Provider를 이용하는 것으로, event-source-token을 지정할 수 있게 되었다.
  • AWS CLI와 유사한 파라미터를 지정함으로써, AlexaSmartHome의 트리거를 설정할 수 있다.
  • htps //w w. 테라후 rm. 이오/도 cs/p로ゔぃ로 rs/아ws/r/ぁmb이다_페르미시온. HTML # 에이 t_그래서_와 켄



  • 전제



    Alexa Smart Home Skill의 코드는 AWS에서 Lambda 함수로 호스팅됩니다.

    이를 위해 Alexa 콘솔에 표시되는 스킬 ID를 지정하여 Alexa Smart Home을 Lambda의 트리거로 설정해야 합니다.



    AWS Console에서 설정하는 방법은 문서에 설명되어 있었지만 AWS CLI 또는 Terraform에서 설정하고 싶었습니다.

    AWS CLI에서 Alexa Smart Home 트리거 설정



    아래와 같이 지정하는 것으로 Lambda에 Alexa Smart Home의 트리거를 추가할 수 있다.
    aws lambda add-permission \
    --region us-west-2 \
    --function-name (対象のLambda Function名) \
    --statement-id (statement-id) \
    --principal alexa-connectedhome.amazon.com \
    --action lambda:InvokeFunction \
    --event-source-token (Alexa Smart HomeのスキルID)
    

    Lambda에서 add-permission할 때는 ARN을 지정하는 경우가 많지만, Alexa Smart Home의 경우는 event-source-token에 스킬 ID를 지정한다.

    Principal은 alexa-connectedhome.amazon.com를 지정.

    Terraform에서 Alexa Smart Home의 트리거 설정



    당초 terraform에서 위의 설정을 할 수 없는지 조사했지만 event_source_token을 설정할 수 없기 때문에 SmartHomeSkill의 트리거 추가에는 미대응인 것으로 보인다. (2018/06/01 현재)

    Terraform에서도 event_source_token을 지정할 수 있기 때문에,
    유사한 설정 내용을 지정함으로써 트리거를 추가할 수 있다.
    issue
    htps //w w. 테라후 rm. 이오/도 cs/p로ゔぃ로 rs/아ws/r/ぁmb이다_페르미시온. HTML # 에이 t_그래서_와 켄

    event-source-token에 대한 자세한 내용은 htps : // 기주 b. 코 m / 테라 후 rmp 로즈에서 rs / 테라 후 rmp 로즈에서 r 아 ws / 풀 / 5264

    여담



    덧붙여서, 커스텀 스킬의 트리거 설정 방법에 대해서는, 공식 문서에 기재되어 있다
    공식 문서에 명시된

    좋은 웹페이지 즐겨찾기