Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ASK CLIでAlexaとLambdaを簡単管理
tochi
November 03, 2018
Technology
0
730
ASK CLIでAlexaとLambdaを簡単管理
JAWS FESTA 2018 Osaka
資料内の動画も含んだ内容はこちら
https://www.aguuu.com/archives/2018/11/jawsfesta2018osaka/
tochi
November 03, 2018
Tweet
Share
More Decks by tochi
See All by tochi
技術書を書く技術
aguuutochi
16
6.3k
Other Decks in Technology
See All in Technology
NGINXENG JP#2 - 4-NGINX-エンジニアリング勉強会
hiropo20
0
130
OPENLOGI Company Profile
hr01
0
12k
ChatGPT for Hacking
anugrahsr
0
4.7k
Periodic Multi-Agent Path Planning
hziwara
0
160
OpenShiftクラスターのアップグレード自動化への挑戦! / OpenShift Cluster Upgrade Automation
skitamura7446
0
210
OpenShiftのリリースノートを整理してみた
loftkun
2
450
Oracle Transaction Manager for Microservices Free 22.3 製品概要
oracle4engineer
PRO
5
120
re:Inventで発表があったIoT事例の紹介と考察
kizawa2020
0
200
もし本番ネットワークをまるごと仮想環境に”コピー”できたらうれしいですか? / janog51
corestate55
0
400
03_ユーザビリティテスト
kouzoukaikaku
0
780
JAWS-UG 横浜 #54 資料
takakuni
0
220
Dockerに疲れた人のためのLXDではじめるシステムコンテナ入門
devops_vtj
0
140
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
221
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
A designer walks into a library…
pauljervisheath
199
16k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
63k
No one is an island. Learnings from fostering a developers community.
thoeni
12
1.5k
Building Adaptive Systems
keathley
27
1.3k
The Art of Programming - Codeland 2020
erikaheidi
36
11k
10 Git Anti Patterns You Should be Aware of
lemiorhan
643
54k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.5k
Infographics Made Easy
chrislema
235
17k
Designing on Purpose - Digital PM Summit 2013
jponch
108
5.9k
A Modern Web Designer's Workflow
chriscoyier
689
180k
Transcript
"4,$-*Ͱ "MFYBͱ-BNCEBΛ؆୯ཧ +"84'&45"04","
1SPGJMF
5PNPZVLJ 5PDIJIJSB 5XJUUFS!BHVVV (JUIVCUPDIJ ԬࢁݝԬࢁࢢࡏॅ +"846(ԬࢁίΞϝϯόʔ גࣜձࣾ%*(*5"-+&5ʢཧࣾһʣ גࣜձࣾιχοΫΨʔσϯʢཧࣾһʣ
Զ͕ͨͪΓ͔ͨͬͨ "MFYBͷ 8SJUFS ɾ5PNPIBSV*UP ɾ5PNPZVLJ5PDIJIJSB ɾ)JEFUBLB0LBNPUP %FTJHOFS ɾ"UTVTIJ"OEP
"4,$-*
"4,$-* ɾ"MFYB4LJMMT,JU$PNNBOE-JOF*OUFSGBDF ɾ5BSHFUSFTPVSDFT ɹɾ"MFYB4LJMM ɹɾ-BNCEB ɹɾ$MPVE8BUDI-PHT
5FSNJOBM "MFYB4LJMM
"4,$-* ɾ"MFYB4LJMM ɹɾຊޠɺӳޠɺଞΧࠃ ɾ-BNCEB ɹɾ/PEFKTɺ"4,4%,7
#FOFGJU ɾ"NB[PO"MFYB4LJMMͱ"84-BNCEBΛҰׅཧ ɾϦιʔεΛHJUͰཧ
/FX %FQMPZ
2VJDL4UBSU BTLOFXOGFTUB DEGFTUB BTLEFQMPZ ɾ"MFYBεΩϧͷܗ࡞ ɾ"MFYBεΩϧͱ-BNCEBΛσϓϩΠ
%FNP
0UIFST
BTLOFX BTLOFXUFNQMBUFOGFTUB ɾ#VUUPOT$PMPS$IBOHFS ɾ$JUZ(VJEF ɾ%FDJTJPO5SFF ɾ'BDU ɾ'FFE ɾ'PPEJF ɾ)JHI-PX(BNF ɾॳظͷߏΛςϯϓϨʔτ͔ΒબՄೳ
IUUQTHJUIVCDPNBMFYB
BTLEFQMPZ BTLEFQMPZU<UBSHFU> ɾBMM ɾMBNCEB ɾTLJMM ɾNPEFM ɾJTQ ɾσϓϩΠͰࢦఆͰ͖Δλʔήοτछྨ
BTLDMPOF BTLDMPOFTBN[OBTLTLJMMYYY ɾطଘͷ"MFYBεΩϧͱ-BNCEBΛϩʔΧϧʹऔಘ
BTLEJGG BTLEJ⒎ ɾϩʔΧϧͱϦϞʔτͷࠩΛදࣔ
BTLTJNVMBUF BTLTJNVMBUFUbΞϨΫαHSFFUFSΛ։͍ͯ`MKB+1 ɾ"MFYBεΩϧͷൃςετΛ࣮ߦ
BTLTJNVMBUF5FTU const assert = require(’power-assert’) const { execFile } =
require(’child_process’) describe(’test by ask-cli’, () => { it(’should return valid response when send invocation name’, (done) => { execFile(’ask’, [ ’simulate’, ’-s’, ’amzn1.ask.skill.xxx’, ’-l’, ’en-US’, ’-t’, ’open greeter’ ], (error, stdout, stderr) => { if (error) { assert.deepEqual(error, {}) } else { const { result } = JSON.parse(stdout) const { invocationResponse } = result.skillExecutionInfo const { response } = invocationResponse.body assert.equal(response.card.content.indexOf(’<p>’), -1) assert.equal(response.card.content.indexOf(’undefined’), -1) } done() }) }) }) Ҿ༻ɿԶ͕ͨͪΓͨͳ͔ͬͨ"MFYBͷ
BTLBQJTVCNJU BTLBQJTVCNJUTBN[OBTLTLJMMYYY ɾ"MFYBεΩϧͷެ։ਃ
BTLBQJXJUIESBX BTLBQJXJUIESBXTBN[OBTLTLJMMYYY ɾ"MFYBεΩϧͷެ։औΓԼ͛
1SPCMFN
-BNCEBSFHJPO ɾσϑΥϧτͷϦʔδϣϯόʔδχΞ ɾ-BNCEBͷϦʔδϣϯΛ౦ژ͚ͩʹ͢Δͷ͍͠
-BNCEBBMJBT ɾ-BNCEBͷΤΠϦΞεͷࢦఆ͕Ͱ͖ͳ͍
4". PS 4FSWFSMFTT'SBNFXPSL
"844". ɾ-BNCEBͷཧ͕Մೳ ɾ%ZOBNP%#ͷཧ͕Մೳ ɾ"MFYBεΩϧͷཧʹະରԠ
4FSWFSMFTT 'SBNFXPSL ɾ-BNCEBͷཧ͕Մೳ ɾ%ZOBNP%#ͷཧ͕Մೳ ɾϓϥάΠϯΛೖΕΕ"MFYBεΩϧͷཧ͕Մೳ ɹɾTFSWFSMFTTBMFYBTLJMMT
$PODMVTJPO
"4,$-* ˓˓˓ ɾεΩϧ ɹɾ"4,$-* ɾ-BNCEB ɹɾ4". ɹɾ4FSWFSMFTT'SBNFXPSL
-FU`TFOKPZ"MFYB