Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Alexaスキルを安心安全に開発運用するためのAWS自動化ソリューション
Search
chao2suke
February 23, 2019
Technology
0
570
Alexaスキルを安心安全に開発運用するためのAWS自動化ソリューション
2019/02/23 JAWS Days 2019 登壇資料
chao2suke
February 23, 2019
Tweet
Share
More Decks by chao2suke
See All by chao2suke
天井カメラで捉えた人物をコンピュータビジョンで解析した3年間のトライアンドエラーとこれから
chao2suke
0
2k
結局普通のエンジニアが今SageMaker使うと何ができるのかわかるLT
chao2suke
0
1.6k
機械学習の知識ゼロでも動かせるAIツールキットの世界
chao2suke
0
1.5k
「今」のAI技術と「3年後」のAI技術のご紹介
chao2suke
0
980
Alexaに詳しい人は普段Alexaをどう扱っているか
chao2suke
0
820
奥深きAPLの世界
chao2suke
0
120
Alexaスキル & レジレスCafeにおけるStripe活用の取り組み
chao2suke
0
1.9k
Alexa x 機械学習でスキルをよりリッチにする方法
chao2suke
0
1.5k
#AAJUG vol.2 APL ハンズオン
chao2suke
0
2.5k
Other Decks in Technology
See All in Technology
One engineer company with Ruby on Rails
rstankov
2
130
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
170
Cracking the KubeCon CfP
inductor
2
250
20240418_Google ColabにLLMが搭載されたようなのでPython x データ分析の勉強方法を考えてみる
doradora09
0
150
今年のRubyKaigiはProfiler Year🤘
osyoyu
0
190
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
390
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
370
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
380
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
360
JAWS-UG Bedrock Claude Night
yamahiro
3
620
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
260
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
540
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
68
8.6k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
How to Ace a Technical Interview
jacobian
272
22k
Rails Girls Zürich Keynote
gr2m
91
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
Writing Fast Ruby
sferik
621
60k
Why Our Code Smells
bkeepers
PRO
331
56k
Building a Scalable Design System with Sketch
lauravandoore
456
32k
How GitHub (no longer) Works
holman
304
140k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Embracing the Ebb and Flow
colly
80
4.1k
Navigating Team Friction
lara
178
13k
Transcript
AlexaεΩϧΛ ҆৺ɾ҆શʹ։ൃӡ༻͢ΔͨΊͷ AWSࣗಈԽιϦϡʔγϣϯ Ϋϥεϝιουגࣜձࣾ ͤʔͷ
ࣗݾհ • ਗ਼߶࢙ʢͤʔͷʣ • Ϋϥεϝιουגࣜձࣾ AIιϦϡʔγϣϯ෦ ࡳຈΦϑΟεॴଐ AlexaςΫχΧϧΤόϯδΣϦετ /
VUIΞʔΩςΫτ • ࠷ۙAWS Certified Alexa Skill Builder - SpecialtyΛड͚ͯ AWSࢼݧݴޠ͕ͳͯ͘ײಈ
εΩϧΛͲͷΑ͏ʹ࡞͍ͬͯ·͔͢ʁ
؆୯͚ͩʹ༉அ͕ͪ͠ ɾ։ൃऀίϯιʔϧʢGUIʣ ͦͷͰͳΜͱͳܾ͘Ίͯ͠·͍͕ͪ ɾόοΫΤϯυʢLambdaʣ͕1ϖʔδʢindex.jsʣͷΈͰॻ ͚ΔαΠζͩͱɺ͍Ͱॻ͍ͯ͠·͍͕ͪ ͔ͭͯͷAWS͕ͦ͏ͩͬͨ
AWSΤϯδχΞϦϯάͷ εςοϓΞοϓ ϚωʔδϝϯτίϯιʔϧͰϙνϙν࡞Δ CLI & APIͰίʔυԽͯ͠ཧ͢Δ όονԽ & ௨ػೳΛՃͯ͠CI/CD͢Δ
AlexaΛίʔυཧ͢Δ ϑϩϯτΤϯυଆ ʢIntent/SlotɺΤϯυϙΠϯτཧ) όοΫΤϯυଆ ʢ࣮ίʔυʣ SMAPI (Skill Management API) ASK
CLI AWS Lambda
Codeܑఋ
CodeܑఋΛͬͨ Alexaڥߏங
Point ɾCodeStar(SAM)Λ͏ͱLambdaͷFunction໊ʹ ༨ܭͳpostfix͕ͭ͘ͷ͕ݏ => Apex(SalesForceͷΞϨ͡Όͳ͍ํʣ ΛͬͯLambdaΛDeploy ɾApexΛೖΕͨDockerΛECRʹηοτ => ΧελϜϏϧυϞσϧͰୟ͘ ɾߏங͕͍࣌ؒ(ࣗಈπʔϧ͋Δ͋Δʣ
=> CodePipelineΛͬͯSNSʹ݁ՌΛ௨ɺ ޙ͖ͳํ๏Ͱ௨͢Δ ɾΫϥΠΞϯτʹޙ΄Ͳ εΩϧτϥϯεϑΝʔ͢Δ͜ͱΛߟྀͯ͠ CodeCommitͰͳ͘GithubΛ࠾༻
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 ../../
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`
ෳڥ࡞ͬͯ·͔͢ʁ
ࣄͰΤϯδχΞϦϯά͢Δ࣌ͷجૅ ։ൃڥͰ։ൃ εςʔδϯάͰ͓٬༷֬ೝɺOKͳΒຊ൪ ෆ۩߹εςʔδϯάͰ࠶ݱɺ։ൃڥͰम෮
ຊ൪ڥAmazonνʔϜʹΑΔ৹͕ࠪ͋Δ ʢ͍͍ͩͨ5Ӧۀʣ AlexaͰෳڥΛ࡞ΔϙΠϯτ όοΫΤϯυίʔυ৹ࠪର֎
AlexaͰෳڥΛ࡞ΔϙΠϯτ ࣗಈͰΞοϓσʔτ͢ΔͱϑϩϯτͱόοΫʹ όʔδϣϯࠩҟ͕ग़Δ
ΤΠϦΞεΛ͏
ΤΠϦΞεΛ༻͍ͨෳڥߏங
ɾεςʔδϯάͱຊ൪ͳΔ͘ಉ͡ʹ͓͖͍ͯͨ͠ ͷͰReleaseϒϥϯνΛΘͣmasterʹ౷Ұ ɾώϡʔϚϯΤϥʔʹΑΔΦϖϛεΛ͙ͨΊ ΤΠϦΞεͱόʔδϣϯͷඥ͚ ͋͑ͯखಈͰߦ͏ ɾApexͷproject.json project.dev.json / project.prd.jsonͷ2छྨɺ config(ϩάείʔϓͳͲΛཧʣ
dev/stg/prdͷ3छྨ Point
ଞʹ͍Ζ͍Ζͬͯ·͕͢ ͦΕ·ͨผͷ
·ͱΊ ɾࠓ·Ͱͷ։ൃϊϋ Alexa։ൃʹͦͷ··͑·͢ ɾLambdaόʔδϣχϯάͯ͠ ΤΠϦΞεͰཧ͠·͠ΐ͏ ɾCodeBuildʹςετπʔϧΛಥͬࠐΜͰ CI/CDͰճ͠·͠ΐ͏