$30 off During Our Annual Pro Sale. View Details »

Continuous Integration in Alexa Skill / jaws-days-2018

Continuous Integration in Alexa Skill / jaws-days-2018

JAWS Days 2018での資料です。

Hidetaka Okamoto
PRO

March 10, 2018
Tweet

More Decks by Hidetaka Okamoto

Other Decks in Technology

Transcript

  1. C o n t i n u o u s I n t e g r a t i o n
    i n A l e x a S k i l l
    J A W S D a y s 2 0 1 8

    View Slide

  2. H i d e t a k a
    O k a m o t o
    • Digitalcube Co. Ltd.
    • WordCamp Kyoto 2017࣮ߦҕһ௕
    • Cloud Quiz Gameଞ೔ถͰෳ਺εΩϧ
    ެ։

    View Slide

  3. View Slide

  4. A g e n d a
    • ͳͥAlexaͰςετܥͷ࿩ͳͷ͔
    • Alexa Skill ̏ͭͷϨΠϠ
    • ςετ͔ৼΔ෣͍͔
    • ӡ༻؂ࢹͱͦͷઌ΁

    View Slide

  5. A g e n d a
    • ͳͥAlexaͰςετܥͷ࿩ͳͷ͔
    • Alexa Skill ̏ͭͷϨΠϠ
    • ςετ͔ৼΔ෣͍͔
    • ӡ༻؂ࢹͱͦͷઌ΁

    View Slide

  6. V U I Ξ ϓ Ϧ ͸ ໨ ʹ ݟ ͑ ͳ ͍

    View Slide

  7. V U I Ξ ϓ Ϧ ͸ ໨ ʹ ݟ ͑ ͳ ͍
    = Ϣʔ βʔ ͷ όά ɾ ෆ ۩ ߹ ൑ ఆ ͕ ޿ ͍

    View Slide

  8. ެ ։ ͠ ͨ A l e x a S k i l l ͸ A m a z o n ʹ ܝ ࡌ ͞ Ε Δ ( U S )
    https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dalexa-skills

    View Slide

  9. ظ ଴ ʹ ఴ ͑ ͳ ͍ ͱ ༰ ࣻ ͳ ͘ ੕ ̍ ʹ ͳΔ
    https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dalexa-skills

    View Slide

  10. ʮ D o e s n ’t w o r k ʯ ͷ ൣ ғ ͕ ޿ ͍
    • ฦࣄͯ͘͠Εͳ͍ɹɹʢΘ͔Δʣ
    • શવҧ͏࿩Λ͢ΔɹɹʢΘ͔Δʣ
    • ಉ͜͡ͱ͔͠࿩͞ͳ͍ ʢΘɺΘ͔Δʣ
    • ࿩͠ํ͕ؾʹೖΒͳ͍ ʢ͓ɺ͓͏ʣ

    View Slide

  11. ෆ ۩ ߹ Λ ૣ ظ ʹ Έͭ ͚ ͨ ͍

    View Slide

  12. ෆ ۩ ߹ Λ ૣ ظ ʹ Έͭ ͚ ͨ ͍
    → ςε τ Ͱ ༧ ๷ ͱ ࠶ ൃ ๷ ࢭ

    View Slide

  13. A g e n d a
    • ͳͥAlexaͰςετܥͷ࿩ͳͷ͔
    • Alexa Skill ̏ͭͷϨΠϠ
    • ςετ͔ৼΔ෣͍͔
    • ӡ༻؂ࢹͱͦͷઌ΁

    View Slide

  14. α ʔ Ϗ ε ୯ Ґ Ͱ ෼ ྨ
    A u d i o
    C a p t u re
    A u d i o
    P l a y b a c k
    C a l l w e b A P I
    Ta l k
    s o m t h i n g
    R e s p o n c e
    S p e e c h t o
    Te x t
    Te x t t o
    S p e e c h

    View Slide

  15. α ʔ Ϗ ε ୯ Ґ Ͱ ෼ ྨ
    A u d i o
    C a p t u re
    A u d i o
    P l a y b a c k
    C a l l w e b A P I
    Ta l k
    s o m t h i n g
    R e s p o n c e
    S p e e c h t o
    Te x t
    Te x t t o
    S p e e c h
    AW S L a m b d a
    w e b A P I

    View Slide

  16. α ʔ Ϗ ε ୯ Ґ Ͱ ෼ ྨ
    A u d i o
    C a p t u re
    A u d i o
    P l a y b a c k
    C a l l w e b A P I
    Ta l k
    s o m t h i n g
    R e s p o n c e
    S p e e c h t o
    Te x t
    Te x t t o
    S p e e c h
    A l e x a S k i l l s K i t
    AW S L a m b d a
    w e b A P I

    View Slide

  17. α ʔ Ϗ ε ୯ Ґ Ͱ ෼ ྨ
    A u d i o
    C a p t u re
    A u d i o
    P l a y b a c k
    C a l l w e b A P I
    Ta l k
    s o m t h i n g
    R e s p o n c e
    S p e e c h t o
    Te x t
    Te x t t o
    S p e e c h
    A l e x a S k i l l s K i t
    - > Ի ੠ ͱ J S O N ͷ ม ׵
    AW S L a m b d a
    - > J S O N ͔ Β Ϩε ϙ ϯε J S O N Λ ੜ ੒

    View Slide

  18. A l e x a α ʔ Ϗ ε ୯ Ґ Ͱ ෼ ྨ
    E c h o D e v i c e
    A u t o m a t i c
    S p e e c h
    R e c o g n i t i o n
    R e q u e s t
    h a n d l e r s
    AW S L a m b d a
    N a t u r a l
    L a n g u a g e
    U n d e r s t a n d i n g

    View Slide

  19. A l e x a α ʔ Ϗ ε ୯ Ґ Ͱ ෼ ྨ
    E c h o D e v i c e
    A u t o m a t i c
    S p e e c h
    R e c o g n i t i o n
    R e q u e s t
    h a n d l e r s
    AW S L a m b d a
    N a t u r a l
    L a n g u a g e
    U n d e r s t a n d i n g
    E c h o S i m . i o
    re v e r b . a i / R a s p i
    AV S A P I

    View Slide

  20. A l e x a α ʔ Ϗ ε ୯ Ґ Ͱ ෼ ྨ
    E c h o D e v i c e
    A u t o m a t i c
    S p e e c h
    R e c o g n i t i o n
    R e q u e s t
    h a n d l e r s
    AW S L a m b d a
    N a t u r a l
    L a n g u a g e
    U n d e r s t a n d i n g
    AV S A P I
    A S K S M A P I
    S k i l l S i m u l a t i o n A P I
    S k i l l I n v o c a t i o n A P I
    A S K C L I
    E c h o S i m . i o
    re v e r b . a i / R a s p i

    View Slide

  21. A l e x a α ʔ Ϗ ε ୯ Ґ Ͱ ෼ ྨ
    E c h o D e v i c e
    A u t o m a t i c
    S p e e c h
    R e c o g n i t i o n
    R e q u e s t
    h a n d l e r s
    AW S L a m b d a
    N a t u r a l
    L a n g u a g e
    U n d e r s t a n d i n g
    S e r v i c e
    S i m u l a t o r
    AV S A P I
    A S K S M A P I
    S k i l l S i m u l a t i o n A P I
    S k i l l I n v o c a t i o n A P I
    A S K C L I
    E c h o S i m . i o
    re v e r b . a i / R a s p i

    View Slide

  22. A l e x a α ʔ Ϗ ε ୯ Ґ Ͱ ෼ ྨ
    E c h o D e v i c e
    A u t o m a t i c
    S p e e c h
    R e c o g n i t i o n
    R e q u e s t
    h a n d l e r s
    AW S L a m b d a
    N a t u r a l
    L a n g u a g e
    U n d e r s t a n d i n g
    S e r v i c e
    S i m u l a t o r
    U n i t t e s t t o o l s
    AV S A P I
    A S K S M A P I
    S k i l l S i m u l a t i o n A P I
    S k i l l I n v o c a t i o n A P I
    U n i t t e s t S D K
    A S K C L I
    E c h o S i m . i o
    re v e r b . a i / R a s p i

    View Slide

  23. ί ʔ υ Ͱ ςε τ Ͱ ͖ Δ ͱ ͜ Ζ ɾ Ͱ ͖ ͳ ͍ ͱ ͜ Ζ ͷ ෼ ྨ
    • ࣮ࡍͷԻ੠͔ΒΠϯςϯτ / Slot΁ͷม׵͸೉͍͠
    • Πϯςϯτ / SlotͰಈ͘ॲཧ෦෼͸Lambdaͷςετϊ΢ϋ΢͕࢖͑Δ
    • Alexa͔ΒͷԻ੠ͷςετ͸਺஋Խ͠ʹ͍͘

    View Slide

  24. A g e n d a
    • ͳͥAlexaͰςετܥͷ࿩ͳͷ͔
    • Alexa Skill ̏ͭͷϨΠϠ
    • ςετ͔ৼΔ෣͍͔
    • ӡ༻؂ࢹͱͦͷઌ΁

    View Slide

  25. Ϩ Π Ϡ ʹ Α ͬͯ ։ ൃ ख ๏ Λ ม ͑Δ
    • Alexa͕ೝࣝ͠΍͍͢αϯϓϧൃ࿩ͷ࡞੒
    • Lambda͕ϦΫΤετʹରͯ͠ਖ਼͍͠ॲཧΛ࣮ߦ͢Δ
    • Ϩεϙϯε͕ฉ͖औΓ΍͍͢಺༰ʹͳ͍ͬͯΔ

    View Slide

  26. Ϩ Π Ϡ ʹ Α ͬͯ ։ ൃ ख ๏ Λ ม ͑Δ
    • Alexa͕ೝࣝ͠΍͍͢αϯϓϧൃ࿩ͷ࡞੒ɹɹɹɹɹɿৼΔ෣͍ۦಈ
    • Lambda͕ϦΫΤετʹରͯ͠ਖ਼͍͠ॲཧΛ࣮ߦ͢Δɿςετۦಈ
    • Ϩεϙϯε͕ฉ͖औΓ΍͍͢಺༰ʹͳ͍ͬͯΔɹɹɹɿৼΔ෣͍ۦಈ

    View Slide

  27. Ϩ Π Ϡ ʹ Α ͬͯ ։ ൃ ख ๏ Λ ม ͑Δ
    • Alexa͕ೝࣝ͠΍͍͢αϯϓϧൃ࿩ͷ࡞੒ɹɹɹɹɹɿৼΔ෣͍ۦಈ
    • Lambda͕ϦΫΤετʹରͯ͠ਖ਼͍͠ॲཧΛ࣮ߦ͢Δɿςετۦಈ
    • Ϩεϙϯε͕ฉ͖औΓ΍͍͢಺༰ʹͳ͍ͬͯΔɹɹɹɿৼΔ෣͍ۦಈ

    View Slide

  28. ࢖ ͑Δ ςε τϑ ϩ ʔ
    E c h o D e v i c e
    A u t o m a t i c
    S p e e c h
    R e c o g n i t i o n
    R e q u e s t
    h a n d l e r s
    AW S L a m b d a
    N a t u r a l
    L a n g u a g e
    U n d e r s t a n d i n g
    AV S A P I
    A S K S M A P I
    S k i l l S i m u l a t i o n A P I
    S k i l l I n v o c a t i o n A P I
    A S K C L I
    E c h o S i m . i o
    re v e r b . a i / R a s p i

    View Slide

  29. ςε τ ͠ ͨ ͍ ͱ ͜ Ζ
    E c h o D e v i c e
    A u t o m a t i c
    S p e e c h
    R e c o g n i t i o n
    R e q u e s t
    h a n d l e r s
    AW S L a m b d a
    N a t u r a l
    L a n g u a g e
    U n d e r s t a n d i n g
    AV S A P I
    A S K S M A P I
    S k i l l S i m u l a t i o n A P I
    S k i l l I n v o c a t i o n A P I
    A S K C L I
    E c h o S i m . i o
    re v e r b . a i / R a s p i

    View Slide

  30. L a m b d a ͷ ಈ ͖ ͸ ͋ · Γ ॏ ཁ Ͱ ͳ ͍
    E c h o D e v i c e
    A u t o m a t i c
    S p e e c h
    R e c o g n i t i o n
    R e q u e s t
    h a n d l e r s
    AW S L a m b d a
    N a t u r a l
    L a n g u a g e
    U n d e r s t a n d i n g
    AV S A P I
    A S K S M A P I
    S k i l l S i m u l a t i o n A P I
    S k i l l I n v o c a t i o n A P I
    A S K C L I
    E c h o S i m . i o
    re v e r b . a i / R a s p i

    View Slide

  31. S k i l l S i m u l a t i o n A P I ͸ j a - J P ະ ର Ԡ
    h t t p s : / / d e v e l o p e r. a m a z o n . c o m / d o c s / s m a p i / a s k - c l i - c o m m a n d - re f e re n c e . h t m l # s i m u l a t e - c o m m a n d

    View Slide

  32. U S εΩϧ Ҏ ֎ ͸ A S K - C L I ͷ ϑ ϩ ʔ ͕ ࢖ ͑ ͳ ͍
    E c h o D e v i c e
    A u t o m a t i c
    S p e e c h
    R e c o g n i t i o n
    R e q u e s t
    h a n d l e r s
    AW S L a m b d a
    N a t u r a l
    L a n g u a g e
    U n d e r s t a n d i n g
    AV S A P I
    A S K S M A P I
    S k i l l S i m u l a t i o n A P I
    S k i l l I n v o c a t i o n A P I
    A S K C L I
    E c h o S i m . i o
    re v e r b . a i / R a s p i

    View Slide

  33. A l e x a ͕ ೝ ࣝ ͠ ΍ ͢ ͍ α ϯ ϓϧ ൃ ࿩ ͷ ࡞ ੒
    • Lambda͕Ͳ͏ಈ͔͘ͷςετͱ੾Γ෼͚Δ
    • ։ൃॳظʹৗʹಉ͡ϨεϙϯεΛฦ͢μϛʔLambdaΛ༻ҙ
    • ൃ࿩ʹରͯ͠ҙਤͨ͠Πϯςϯτɾεϩοτ΁ྲྀΕͯΔ͔Λςετ
    • Lambdaͷ։ൃ͕ऴΘΓ࣍ୈɺ݁߹ςετʹҠߦ͢Δ

    View Slide

  34. Ϩ Π Ϡ ʹ Α ͬͯ ։ ൃ ख ๏ Λ ม ͑Δ
    • Alexa͕ೝࣝ͠΍͍͢αϯϓϧൃ࿩ͷ࡞੒ɹɹɹɹɹɿৼΔ෣͍ۦಈ
    • Lambda͕ϦΫΤετʹରͯ͠ਖ਼͍͠ॲཧΛ࣮ߦ͢Δɿςετۦಈ
    • Ϩεϙϯε͕ฉ͖औΓ΍͍͢಺༰ʹͳ͍ͬͯΔɹɹɹɿৼΔ෣͍ۦಈ

    View Slide

  35. ࢖ ͑Δ ςε τϑ ϩ ʔ
    R e q u e s t
    h a n d l e r s
    AW S L a m b d a
    U n i t t e s t t o o l s
    A S K S M A P I
    S k i l l I n v o c a t i o n A P I
    U n i t t e s t S D K
    A S K C L I

    View Slide

  36. J a v a S c r i p t ͷ ςε τπ ʔ ϧ
    • https://mochajs.org/
    • https://facebook.github.io/jest/
    • https://github.com/avajs/ava

    View Slide

  37. L a m b d a Ͱ ΍ Δ ΂ ͖ ̏ छ ྨ ͷ ςε τ
    • ୯ମςετ
    • Πϯςϯτ୯Ґͷςετ
    • ର࿩ϑϩʔͷςετ

    View Slide

  38. L a m b d a Ͱ ΍ Δ ΂ ͖ ̏ छ ྨ ͷ ςε τ
    • ୯ମςετɹɹɹɹɹɹɿ͍ΘΏΔ”Ϣχοτςετ”
    • Πϯςϯτ୯ҐͷςετɿΠϯςϯτϦΫΤετʹର͢Δςετ
    • ର࿩ϑϩʔͷςετɹɹɿstate΍attributes΋ؚΊͨςετ

    View Slide

  39. Π ϯ ςϯ τ ୯ Ґ ͷ ςε τα ϯ ϓϧ
    h t t p s : / / g i t h u b . c o m / h i d e o k a m o t o / a l e x a - a w s - q u i z / b l o b / m a s t e r / t e s t / u n i t / i n t e n t / K a r u t a I n t e n t . j s

    View Slide

  40. Π ϯ ςϯ τ ୯ Ґ ͷ ςε τα ϯ ϓϧ
    h t t p s : / / g i t h u b . c o m / h i d e o k a m o t o / a l e x a - a w s - q u i z / b l o b / m a s t e r / t e s t / u n i t / i n t e n t / K a r u t a I n t e n t . j s
    Π ϯ ς ϯ τ ΍ ε ς ʔ τ ͷ ઃ ఆ

    View Slide

  41. Π ϯ ςϯ τ ୯ Ґ ͷ ςε τα ϯ ϓϧ
    h t t p s : / / g i t h u b . c o m / h i d e o k a m o t o / a l e x a - a w s - q u i z / b l o b / m a s t e r / t e s t / u n i t / i n t e n t / K a r u t a I n t e n t . j s
    Π ϯ ς ϯ τ ΍ ε ς ʔ τ ͷ ઃ ఆ
    ʮ η ο γ ϣ ϯ ͕ ܧ ଓ ͯ͠ ͍ Δ ͔ ʁ ʯ

    View Slide

  42. Π ϯ ςϯ τ ୯ Ґ ͷ ςε τ
    • Lambdaίϯιʔϧͷ”ςετ”Ͱ΍ΔςετΛίʔυԽ͢ΔΠϝʔδ
    • Ϩεϙϯεͷத਎ΛৄࡉʹςετՄೳʢCard/Session/SSML/etc…ʣ
    • ࣗྗͰeventͷத਎Λ૊Ήඞཁ͕͋Γɺखؒ͸͔͔Δ

    View Slide

  43. ର ࿩ ϑ ϩ ʔ ͷ ςε τ ʹ ศ ར ͳ ” A l e x a c o n v e r s a t i o n ”
    n p m i n s t a l l - - s a v e - d e v a l e x a - c o n v e r s a t i o n

    View Slide

  44. Ұ ࿈ ͷ ର ࿩ ϑ ϩ ʔ Λ ςε τ Ͱ ͖ Δ
    h t t p s : / / g i t h u b . c o m / h i d e o k a m o t o / a l e x a - a w s - q u i z / b l o b / m a s t e r / t e s t / c o n v e r s a t i o n / j a / q u i z - m o d e . j s

    View Slide

  45. Ұ ࿈ ͷ ର ࿩ ϑ ϩ ʔ Λ ςε τ Ͱ ͖ Δ
    h t t p s : / / g i t h u b . c o m / h i d e o k a m o t o / a l e x a - a w s - q u i z / b l o b / m a s t e r / t e s t / c o n v e r s a t i o n / j a / q u i z - m o d e . j s
    ૝ ఆ ֎ ͷ ฦ ࣄ ͕ དྷ ͨ ৔ ߹ ͷ ςε τ

    View Slide

  46. ର ࿩ ϑ ϩ ʔ ͷ ςε τ
    • state͕ਖ਼͘͠ભҠͰ͖͍ͯΔ͔΍ɺΤϥʔϋϯυϦϯάʹ༗༻
    • ϨϏϡΞʔ͔ΒͷFeedbackΛςετԽ͢Δͱ࠶ൃ๷ࢭʹ໾ཱͭ
    • SSMLͷϚʔΫΞοϓ΍Card / Show޲͚ͷදࣔͳͲ͸ςετͰ͖ͳ͍

    View Slide

  47. Ϩ Π Ϡ ʹ Α ͬͯ ։ ൃ ख ๏ Λ ม ͑Δ
    • Alexa͕ೝࣝ͠΍͍͢αϯϓϧൃ࿩ͷ࡞੒ɹɹɹɹɹɿৼΔ෣͍ۦಈ
    • Lambda͕ϦΫΤετʹରͯ͠ਖ਼͍͠ॲཧΛ࣮ߦ͢Δɿςετۦಈ
    • Ϩεϙϯε͕ฉ͖औΓ΍͍͢಺༰ʹͳ͍ͬͯΔɹɹɹɿৼΔ෣͍ۦಈ

    View Slide

  48. ςε τ ͠ ͨ ͍ Օ ॴ
    A u d i o
    C a p t u re
    A u d i o
    P l a y b a c k
    C a l l w e b A P I
    Ta l k
    s o m t h i n g
    R e s p o n c e
    S p e e c h t o
    Te x t
    Te x t t o
    S p e e c h

    View Slide

  49. ࣗ વ ͳ ฦ ౴ ͕ ҙ ֎ ͱ ೉ ͠ ͍
    • ʮࣗવ͔Ͳ͏͔ʯ͸ఆྔԽͰ͖ͳ͍
    • SSMLʹର͢Δlint΋ʢࠓͷͱ͜Ζʣଘࡏ͠ͳ͍
    • ਓͷײ֮ʹཔΔ͔͠ͳ͍
    • ઌʹԻ੠͚ͩ࡞ͬͯ͠·͏ͱ͍͏ํ๏΋͋Δ

    View Slide

  50. A m a z o n P o l l y
    https://aws.amazon.com/jp/s/dm/optimization/sem/polly-signup2/

    View Slide

  51. P o l l y ͔ A l e x a ͔
    • Polly (Mizuki)ͱAlexaͷ೔ຊޠൃ࿩͸ඍົʹҧ͏
    • ࣄલʹ༻ҙ͕೉͍͠෦෼ʢ࣌ࠁɾ໊લʣͳͲ͕͋ΔͱPolly͸ͭΒ͍
    • AlexaʹΑΔൃ࿩͕ඞཁͳ৔߹ɺࢥ͍੾ͬͯTakumiΛ࢖͏ख΋

    View Slide

  52. ν ʔϜ Ͱ ͷ ։ ൃ ϑ ϩ ʔ
    • ձ࿩ΛσβΠϯ͢Δ
    • αϯϓϧͷର࿩ϑϩʔʢൃ࿩ͱϨεϙϯεʣΛ࡞੒͢Δ
    • μϛʔͷLambdaΛσϓϩΠ͢Δ
    • SSML or Audioͷ࡞੒ / Lambda࣮૷ / ର࿩Ϟσϧͷ֦ॆ
    • ࣮૷͞ΕͨLambdaΛσϓϩΠ
    • ݁߹ςετ
    • ϦϦʔε

    View Slide

  53. ν ʔϜ Ͱ ։ ൃ ͢ Δ ৔ ߹
    • αϯϓϧൃ࿩ΛࢼͤΔΑ͏ʹઌʹμϛʔLambdaΛσϓϩΠ͓ͯ͘͠
    • Lambdaͷ࣮૷ͱର࿩Ϟσϧͷ֦ॆΛผνʔϜͰಉ࣌ਐߦͤ͞Δ
    • SSML / Audio͸࣮૷લʹ༻ҙͰ͖ΔͱΑΓεϜʔζ
    • Skill Simulation API͕೔ຊޠରԠ͞ΕͨΒָʹͳΔ͸ͣʢ͖ͬͱʣ

    View Slide

  54. S S M L Λ H T M L ϥ ΠΫ ʹ ͔ ͚Δ ͱ ศ ར - s s m l - j s x
    c o n s t s p e e c h S S M L = (
    < s p e a k >
    < p > H e l l o w o r l d ! < / p >
    < b re a k t i m e = ' 2 s ' / >
    < p > W h a t w o u l d y o u l i k e t o d o t o d a y ? < / p >
    < / s p e a k >
    ) ;
    c o n s t s p e e c h S t r i n g = re n d e r To S t r i n g ( s p e e c h S S M L ) ;
    h t t p s : / / w w w. n p m j s . c o m / p a c k a g e / s s m l - j s x

    View Slide

  55. ৽ ͠ ͍ A l e x a ί ϯ ι ʔϧ
    https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dalexa-skills

    View Slide

  56. Ի ੠ / J S O N / ς Ωε τ શ ෦ ʹ ର Ԡ
    A u t o m a t i c
    S p e e c h
    R e c o g n i t i o n
    R e q u e s t
    h a n d l e r s
    AW S L a m b d a
    N a t u r a l
    L a n g u a g e
    U n d e r s t a n d i n g
    ɹ ৽ ͠ ͍ A l e x a
    ɹ ί ϯ ι ʔϧ ͷ
    ɹ ςε τ ը ໘
    AV S A P I
    A S K S M A P I
    S k i l l S i m u l a t i o n A P I
    S k i l l I n v o c a t i o n A P I
    ͜ ͜ ͸
    ׬ શ ʹ
    ૝ ૾

    View Slide

  57. ͜ ͜ Ͱ ςε τ ͢ Δ ͱ ɺ L a m b d a ͷ όά ࠶ ݱ ΍ Γ ΍ ͢ ͍
    https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dalexa-skills
    e v e n t ύ ϥϝ ʔ λ a s s e r t Ͱ ൺ ֱ ͢ Δ ஋

    View Slide

  58. D e p l o y ͷ ࣗ ಈ Խ ͸ A S K - C L I Ͱ
    https://developer.amazon.com/ja/docs/smapi/ask-cli-command-reference.html

    View Slide

  59. A S K - C L I ͷ ઃ ఆ ϑ Ν Πϧ ͸ ~ / . a s k / c l i _ c o n f i g ʹ
    # # A S K C L I ͷ η ο τΞ οϓ ( ϒ ϥ ΢ β ͕ ։ ͘ )
    $ a s k i n i t
    # # ೝ ূ ৘ ใ Λ ί ϐʔ
    $ b a s e 6 4 ~ / . a s k / c l i _ c o n f i g | p b c o p y
    h t t p s : / / y g o t o 3 . c o m / p o s t s / a l e x a - s k i l l - d e v e l o p m e n t - e ff i c i e n c y /

    View Slide

  60. C I α ʔ Ϗ ε ͷ ؀ ڥ ม ਺ ʹ ೖ Ε Δ
    https://developer.amazon.com/ja/docs/smapi/ask-cli-command-reference.html

    View Slide

  61. C I ͷ ί ϯ ς φ ಺ ʹ ~ / . a s k / c l i _ c o n f i g Λ ల ։ ͯ͠ σ ϓ ϩ Π
    # # ೝ ূ ৘ ใ Λ ϑ Ν Πϧ ʹ ໭ ͢
    $ e c h o $ { A S K _ C L I _ C O N F I G } | b a s e 6 4 - d > ~ / . a s k / c l i _ c o n f i g
    # # σ ϓ ϩ Π ί Ϛ ϯ υ ࣮ ߦ
    $ a s k d e p l o y
    h t t p s : / / y g o t o 3 . c o m / p o s t s / a l e x a - s k i l l - d e v e l o p m e n t - e ff i c i e n c y /

    View Slide

  62. L a m b d a ͩ ͚ S e r v e r l e s s F r a m e w o r k ͱ ͍ ͏ ख ΋ ͋ Δ
    h t t p s : / / s e r v e r l e s s . c o m

    View Slide

  63. E n d p o i n t ͸ L i v e / D e v ͦ Ε ͧ Ε ࢦ ఆ Ͱ ͖ Δ ͕ ɺ
    D e v ͷ E n d p o i n t ͕ ͦ ͷ · · L i v e ʹ ঢ ֨ ͢ Δ ࢓ ૊ Έ ʹ ͳ ͬͯ ͍ Δ

    View Slide

  64. E n d p o i n t ͸ L i v e / D e v ͦ Ε ͧ Ε ࢦ ఆ Ͱ ͖ Δ ͕ ɺ
    D e v ͷ E n d p o i n t ͕ ͦ ͷ · · L i v e ʹ ঢ ֨ ͢ Δ ࢓ ૊ Έ ʹ ͳ ͬͯ ͍ Δ

    View Slide

  65. ͳ ͷ Ͱ s l s Ͱ s t a g e = v e r s i o n ʹ ͢ Δ ͱ ؅ ཧ ͠ ΍ ͢ ͍
    # s t a g e ʹ όʔ δ ϣ ϯ ໊ Λ ࢦ ఆ
    $ s l s d e p l o y — s t a g e v 1 - 1 - 0
    # ߋ ৽ ͕ ऴ Θ Ε ͹ ݹ ͍ όʔ δ ϣ ϯ Λ ࡟ আ
    $ s l s re m o v e — s t a g e v 1 - 0 - 0

    View Slide

  66. A g e n d a
    • ͳͥAlexaͰςετܥͷ࿩ͳͷ͔
    • Alexa Skill ̏ͭͷϨΠϠ
    • ςετ͔ৼΔ෣͍͔
    • ӡ༻؂ࢹͱͦͷઌ΁

    View Slide

  67. ؂ ࢹ ΋ ςε τ ͷ ̍ ͭ
    h t t p s : / / s p e a k e rd e c k . c o m / t w a d a / t e s t a b l e - l a m b d a - w o r k i n g - e ff e c t i v e l y - w i t h - l e g a c y - l a m b d a

    View Slide

  68. L a m b d a + C l o u d Wa t c h Ͱ ͷ ؂ ࢹ Ϟ σϧ
    h t t p s : / / w w w. s l i d e s h a re . n e t / A m a z o n We b S e r v i c e s / a l x 3 1 5 t e s t - a u t o m a t i o n - f o r- a l e x a - s k i l l s

    View Slide

  69. C l o u d F o r m a t i o n Ͱ Ұ ࣜ ༻ ҙ ͞ Εͯ ͍ Δ
    h t t p s : / / g i t h u b . c o m / a l e x a / s k i l l - s a m p l e - n o d e j s - t e s t - a u t o m a t i o n

    View Slide

  70. ෆ ۩ ߹ ใ ࠂ Λ ςε τ ί ʔ υ ʹ མ ͱ ͠ ࠐ Ή
    h t t p : / / t - w a d a . h a t e n a b l o g . j p / e n t r y / d e b u g g i n g - t e s t s

    View Slide

  71. Πϕ ϯ τ ಺ ༰ Λ ϩ ά อ ଘ ͢ Δ ύ ο έ ʔ δ - a l e x a - l o g g e r
    h t t p s : / / w w w. n p m j s . c o m / p a c k a g e / a l e x a - l o g g e r

    View Slide

  72. ໛ ࡧ ͷ ଟ ͍ ෼ ໺ ͩ ͔ Β ͦ͜ɺ
    ςε τ ʢ + L i n t ʣ Ͱ ಓ ͠ Δ ΂ Λ

    View Slide

  73. A l e x a Λ ى ఺ ͱ ͢ Δ
    ৽ ͠ ͍ Ϗ δ ω ε

    View Slide

  74. Ի ੠ ϕ ʔε ͷ ৽ ͠ ͍ ί ϛ ϡ χέ ʔ γ ϣ ϯ
    • ʮʙ͠ͳ͕Βʯͱ͍͏Ϣʔεέʔε
    • ΈΜͳͰ༡΂Δίϯςϯπͷఏڙ
    • ࣗࣾαʔϏεͷλονϙΠϯτ֦ு
    • কདྷతʹ͸push΍༗ྉίϯςϯπ΋

    View Slide

  75. AlexaΛ༻͍ͨશ͘৽͍͠ސ٬ମݧͷఏڙʹ
    ௅ઓͯ͠Έ·ͤΜ͔ʁ
    h t t p s : / / w w w. d i g i t a l c u b e . j p / s e r v i c e / w e b - s e r v i c e / a m a z o n - a l e x a - s k i l l s /

    View Slide

  76. h t t p s : / / w w w. d i g i t a l c u b e . j p

    View Slide