Slide 1

Slide 1 text

AlexaεΩϧΛ ҆৺ɾ҆શʹ։ൃӡ༻͢ΔͨΊͷ AWSࣗಈԽιϦϡʔγϣϯ Ϋϥεϝιουגࣜձࣾ ͤʔͷ

Slide 2

Slide 2 text

ࣗݾ঺հ • ਗ਼໺߶࢙ʢͤʔͷʣ • Ϋϥεϝιουגࣜձࣾ
 AIιϦϡʔγϣϯ෦
 ࡳຈΦϑΟεॴଐ
 AlexaςΫχΧϧΤόϯδΣϦετ / 
 VUIΞʔΩςΫτ • ࠷ۙAWS Certified Alexa Skill Builder - SpecialtyΛड͚ͯ
 AWSࢼݧݴޠ͕ͳͯ͘ײಈ

Slide 3

Slide 3 text

εΩϧΛͲͷΑ͏ʹ࡞͍ͬͯ·͔͢ʁ

Slide 4

Slide 4 text

؆୯͚ͩʹ༉அ͕ͪ͠ ɾ։ൃऀίϯιʔϧʢGUIʣ͸
 ͦͷ৔ͰͳΜͱͳܾ͘Ίͯ͠·͍͕ͪ ɾόοΫΤϯυʢLambdaʣ͕1ϖʔδʢindex.jsʣͷΈͰॻ ͚ΔαΠζͩͱɺ੎͍Ͱॻ͍ͯ͠·͍͕ͪ ͔ͭͯͷAWS͕ͦ͏ͩͬͨ

Slide 5

Slide 5 text

AWSΤϯδχΞϦϯάͷ εςοϓΞοϓ ϚωʔδϝϯτίϯιʔϧͰϙνϙν࡞Δ CLI & APIͰίʔυԽͯ͠؅ཧ͢Δ όονԽ & ௨஌ػೳΛ௥Ճͯ͠CI/CD͢Δ

Slide 6

Slide 6 text

AlexaΛίʔυ؅ཧ͢Δ ϑϩϯτΤϯυଆ ʢIntent/SlotɺΤϯυϙΠϯτ؅ཧ) όοΫΤϯυଆ ʢ࣮૷ίʔυʣ SMAPI (Skill Management API) ASK CLI AWS Lambda

Slide 7

Slide 7 text

Codeܑఋ

Slide 8

Slide 8 text

CodeܑఋΛ࢖ͬͨ Alexa؀ڥߏங

Slide 9

Slide 9 text

Point ɾCodeStar(SAM)Λ࢖͏ͱLambdaͷFunction໊ʹ ༨ܭͳpostfix͕ͭ͘ͷ͕ݏ
 => Apex(SalesForceͷΞϨ͡Όͳ͍ํʣ
 Λ࢖ͬͯLambdaΛDeploy ɾApexΛೖΕͨDockerΛECRʹηοτ
 => ΧελϜϏϧυϞσϧͰୟ͘ ɾߏங͕࣌ؒ௕͍(ࣗಈπʔϧ͋Δ͋Δʣ
 => CodePipelineΛ࢖ͬͯSNSʹ݁ՌΛ௨஌ɺ
 ޙ͸޷͖ͳํ๏Ͱ௨஌͢Δ ɾΫϥΠΞϯτʹޙ΄Ͳ εΩϧτϥϯεϑΝʔ͢Δ͜ͱΛߟྀͯ͠ CodeCommitͰ͸ͳ͘GithubΛ࠾༻

Slide 10

Slide 10 text

buildspec.yml version: 0.2 env: variables: SKILL_NAME: demo STAGE: dev AWS_ACCOUNT_ID: xxxxxxxxxxxx phases: pre_build: commands: - mkdir /root/.ask - "aws s3 sync s3://askconfig-${AWS_ACCOUNT_ID}-${AWS_REGION} /root/.ask/" - cd functions/skill - yarn - cd ../../

Slide 11

Slide 11 text

buildspec.yml build: commands: - echo Build started on `date` - "/usr/local/bin/apex --env ${STAGE} deploy skill" - "aws lambda add-permission --statement-id 1 --function-name ${SKILL_NAME}_$ {STAGE} --action lambda:invokeFunction --principal alexa-appkit.amazon.com || true" - cd model - "sh build.${STAGE}.sh" post_build: commands: - echo Build completed on `date` 


Slide 12

Slide 12 text

ෳ਺؀ڥ࡞ͬͯ·͔͢ʁ

Slide 13

Slide 13 text

࢓ࣄͰΤϯδχΞϦϯά͢Δ࣌ͷجૅ ։ൃ؀ڥͰ։ൃ εςʔδϯάͰ͓٬༷֬ೝɺOKͳΒຊ൪΁ ෆ۩߹͸εςʔδϯάͰ࠶ݱɺ։ൃ؀ڥͰम෮

Slide 14

Slide 14 text

ຊ൪؀ڥ͸AmazonνʔϜʹΑΔ৹͕ࠪ͋Δ ʢ͍͍ͩͨ5Ӧۀ೔ʣ AlexaͰෳ਺؀ڥΛ࡞ΔϙΠϯτ όοΫΤϯυίʔυ͸৹ࠪର৅֎

Slide 15

Slide 15 text

AlexaͰෳ਺؀ڥΛ࡞ΔϙΠϯτ ࣗಈͰΞοϓσʔτ͢ΔͱϑϩϯτͱόοΫʹ όʔδϣϯࠩҟ͕ग़Δ

Slide 16

Slide 16 text

ΤΠϦΞεΛ࢖͏

Slide 17

Slide 17 text

ΤΠϦΞεΛ༻͍ͨෳ਺؀ڥߏங

Slide 18

Slide 18 text

ɾεςʔδϯάͱຊ൪͸ͳΔ΂͘ಉ͡ʹ͓͖͍ͯͨ͠ ͷͰReleaseϒϥϯνΛ࢖Θͣmasterʹ౷Ұ ɾώϡʔϚϯΤϥʔʹΑΔΦϖϛεΛ๷͙ͨΊ ΤΠϦΞεͱόʔδϣϯͷඥ෇͚͸ ͋͑ͯखಈͰߦ͏ ɾApexͷproject.json͸ project.dev.json / project.prd.jsonͷ2छྨɺ config(ϩάείʔϓͳͲΛ؅ཧʣ͸ dev/stg/prdͷ3छྨ Point

Slide 19

Slide 19 text

ଞʹ΋͍Ζ͍Ζ΍ͬͯ·͕͢ ͦΕ͸·ͨผͷ࿩

Slide 20

Slide 20 text

·ͱΊ ɾࠓ·Ͱͷ։ൃϊ΢ϋ΢͸ Alexa։ൃʹ΋ͦͷ··࢖͑·͢ ɾLambda͸όʔδϣχϯάͯ͠ ΤΠϦΞεͰ؅ཧ͠·͠ΐ͏ ɾCodeBuildʹςετπʔϧΛಥͬࠐΜͰ CI/CDͰճ͠·͠ΐ͏