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

ASK CLIでAlexaとLambdaを簡単管理

tochi
November 03, 2018

ASK CLIでAlexaとLambdaを簡単管理

JAWS FESTA 2018 Osaka

資料内の動画も含んだ内容はこちら
https://www.aguuu.com/archives/2018/11/jawsfesta2018osaka/

tochi

November 03, 2018
Tweet

More Decks by tochi

Other Decks in Technology

Transcript

  1. "4,$-*Ͱ
    "MFYBͱ-BNCEBΛ؆୯؅ཧ
    +"84'&45"04","

    View Slide

  2. 1SPGJMF

    View Slide

  3. 5PNPZVLJ
    5PDIJIJSB
    5XJUUFS!BHVVV
    (JUIVCUPDIJ
    ԬࢁݝԬࢁࢢࡏॅ
    +"846(ԬࢁίΞϝϯόʔ
    גࣜձࣾ%*(*5"-+&5ʢ෺ཧࣾһʣ
    גࣜձࣾιχοΫΨʔσϯʢ࿦ཧࣾһʣ

    View Slide

  4. Զ͕ͨͪ஌Γ͔ͨͬͨ
    "MFYBͷ࿩
    8SJUFS
    ɾ5PNPIBSV*UP
    ɾ5PNPZVLJ5PDIJIJSB
    ɾ)JEFUBLB0LBNPUP
    %FTJHOFS
    ɾ"UTVTIJ"OEP

    View Slide

  5. "4,$-*

    View Slide

  6. "4,$-*
    ɾ"MFYB4LJMMT,JU$PNNBOE-JOF*OUFSGBDF
    ɾ5BSHFUSFTPVSDFT
    ɹɾ"MFYB4LJMM
    ɹɾ-BNCEB
    ɹɾ$MPVE8BUDI-PHT

    View Slide

  7. 5FSNJOBM
    "MFYB4LJMM

    View Slide

  8. "4,$-*
    ɾ"MFYB4LJMM
    ɹɾ೔ຊޠɺӳޠɺଞΧࠃ
    ɾ-BNCEB
    ɹɾ/PEFKTɺ"4,4%,7

    View Slide

  9. #FOFGJU
    ɾ"NB[PO"MFYB4LJMMͱ"84-BNCEBΛҰׅ؅ཧ
    ɾϦιʔεΛHJUͰ؅ཧ

    View Slide

  10. /FX %FQMPZ

    View Slide

  11. 2VJDL4UBSU
    BTLOFXOGFTUB
    DEGFTUB
    BTLEFQMPZ
    ɾ"MFYBεΩϧͷ਽ܗ࡞੒
    ɾ"MFYBεΩϧͱ-BNCEBΛσϓϩΠ

    View Slide

  12. %FNP

    View Slide

  13. 0UIFST

    View Slide

  14. BTLOFX
    BTLOFXUFNQMBUFOGFTUB
    ɾ#VUUPOT$PMPS$IBOHFS
    ɾ$JUZ(VJEF
    ɾ%FDJTJPO5SFF
    ɾ'BDU
    ɾ'FFE
    ɾ'PPEJF
    ɾ)JHI-PX(BNF
    ɾॳظͷߏ੒ΛςϯϓϨʔτ͔Βબ୒Մೳ
    IUUQTHJUIVCDPNBMFYB

    View Slide

  15. BTLEFQMPZ
    BTLEFQMPZU
    ɾBMM
    ɾMBNCEB
    ɾTLJMM
    ɾNPEFM
    ɾJTQ
    ɾσϓϩΠͰࢦఆͰ͖Δλʔήοτ͸छྨ

    View Slide

  16. BTLDMPOF
    BTLDMPOFTBN[OBTLTLJMMYYY
    ɾطଘͷ"MFYBεΩϧͱ-BNCEBΛϩʔΧϧʹऔಘ

    View Slide

  17. BTLEJGG
    BTLEJ⒎
    ɾϩʔΧϧͱϦϞʔτͷࠩ෼Λදࣔ

    View Slide

  18. BTLTJNVMBUF
    BTLTJNVMBUFUbΞϨΫαHSFFUFSΛ։͍ͯ`MKB+1
    ɾ"MFYBεΩϧͷൃ࿩ςετΛ࣮ߦ

    View Slide

  19. 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(’’), -1)
    assert.equal(response.card.content.indexOf(’undefined’), -1)
    }
    done() })
    }) })
    Ҿ༻ɿԶ͕ͨͪ஌Γͨͳ͔ͬͨ"MFYBͷ࿩

    View Slide

  20. BTLBQJTVCNJU
    BTLBQJTVCNJUTBN[OBTLTLJMMYYY
    ɾ"MFYBεΩϧͷެ։ਃ੥

    View Slide

  21. BTLBQJXJUIESBX
    BTLBQJXJUIESBXTBN[OBTLTLJMMYYY
    ɾ"MFYBεΩϧͷެ։औΓԼ͛

    View Slide

  22. 1SPCMFN

    View Slide

  23. -BNCEBSFHJPO
    ɾσϑΥϧτͷϦʔδϣϯ͸όʔδχΞ
    ɾ-BNCEBͷϦʔδϣϯΛ౦ژ͚ͩʹ͢Δͷ͸೉͍͠

    View Slide

  24. -BNCEBBMJBT
    ɾ-BNCEBͷΤΠϦΞεͷࢦఆ͕Ͱ͖ͳ͍

    View Slide

  25. 4".
    PS
    4FSWFSMFTT'SBNFXPSL

    View Slide

  26. "844".
    ɾ-BNCEBͷ؅ཧ͕Մೳ
    ɾ%ZOBNP%#ͷ؅ཧ͕Մೳ
    ɾ"MFYBεΩϧͷ؅ཧʹ͸ະରԠ

    View Slide

  27. 4FSWFSMFTT
    'SBNFXPSL
    ɾ-BNCEBͷ؅ཧ͕Մೳ
    ɾ%ZOBNP%#ͷ؅ཧ͕Մೳ
    ɾϓϥάΠϯΛೖΕΕ͹"MFYBεΩϧͷ؅ཧ͕Մೳ
    ɹɾTFSWFSMFTTBMFYBTLJMMT

    View Slide

  28. $PODMVTJPO

    View Slide

  29. "4,$-*˓˓˓
    ɾεΩϧ
    ɹɾ"4,$-*
    ɾ-BNCEB
    ɹɾ4".
    ɹɾ4FSWFSMFTT'SBNFXPSL

    View Slide

  30. -FU`TFOKPZ"MFYB

    View Slide