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

Amplify山あり_谷あり奮闘記.pdf

 Amplify山あり_谷あり奮闘記.pdf

j-yamamoto

July 31, 2020
Tweet

Other Decks in Technology

Transcript

  1. "NQMJGZ
    ࢁ͋Γɺ୩͋Γฃಆه
    φΠϧגࣜձࣾ ࢁຊ४

    View Slide

  2. • ࢯ໊ɿࢁຊ ४
    • ॴଐɿ
    φΠϧגࣜձࣾ
    ϞϏϦςΟαʔϏεࣄۀ෦
    • ΤϯδχΞྺɿ೥
    • "84ར༻ྺɿ೥
    • ࠷ۙͷझຯɿ
    Ϛʔέλʔͷ࠺ʹ42-Λڭ͑Δ͜ͱ
    ࣗݾ঺հ

    View Slide

  3. • "84"NQMJGZಋೖʹࢸΔ·Ͱ
    • "84"NQMJGZΛಋೖͯ͠Έ࣮ͨମݧ
    • "84"NQMJGZಋೖΛݕ౼͍ͯ͠Δํ΁޲͚ͯ
    ࿩͢͜ͱ

    View Slide

  4. "84"NQMJGZ
    ಋೖʹࢸΔ·Ͱ

    View Slide

  5. Πϯϑϥߏ੒ͷมԽ
    ୈߏ੒ ୈߏ੒
    8IBU`T
    /FYU
    αʔόʔӡ༻ αʔόϨεԽ

    ୈߏ੒

    View Slide

  6. ๊͍͑ͯͨ՝୊ʢੜ࢈ੑʣ
    • ࣮૷ͷଐਓతͳϒϨ
    • ϦϦʔεͷखؒ
    • Ұͭͷ֬ೝ؀ڥͷऔΓ߹͍

    View Slide

  7. ๊͍͑ͯͨ՝୊ʢ඼࣭ʣ
    • ӡ༻ͷΦϖϛεݮ
    • ϦϦʔεޙͷো֐ݮ

    View Slide

  8. ՝୊ղܾͷ伴 "84"NQMJGZ
    ୈߏ੒ ୈߏ੒
    αʔόʔӡ༻ αʔόϨεԽ
    ୈߏ੒

    View Slide

  9. ಋೖͯ͠ΈͯͲ͏ʁ

    View Slide

  10. "NQMJGZ'SBNFXPSLͰαΫοͱόο
    ΫΤϯυϑϩϯτΤϯυ࣮૷ʂ
    import API from "@aws-amplify/api";
    const awsconfig = require("./aws-exports").default;
    API.configure(awsconfig);
    const runAPI = async () => {
    return await API.get('TestAPI', '/api/test', {});
    };
    "NQMJGZ'SBNFXPSLͷ"1*Ϟδϡʔϧ
    ΛϑϩϯτͰར༻͠ɺαΫοͱ"1*࣮ߦ
    $ amplify init
    $ amplify api update
    $ amplify push
    ίϚϯυͰ-BNCEBؔ਺࡞੒ˍσϓϩΠ
    var express = require('express')
    var bodyParser = require('body-parser')
    var awsServerlessExpressMiddleware = require('aws-serverless-express/middleware')
    // declare a new express app
    var app = express()
    app.use(bodyParser.json())
    app.use(awsServerlessExpressMiddleware.eventContext())
    // Enable CORS for all methods
    app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*")
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type,
    Accept")
    next()
    });
    /**********************
    * Example get method *
    **********************/
    app.get('/api/test', function(req, res) {
    // Add your code here
    res.json({success: 'get call succeed!', url: req.url});
    });
    -BNCEB༻ͷ&YQSFTTϑϨʔϜϫʔΫͰ࣮૷

    View Slide

  11. .VMUJ&OWػೳͰෳ਺ͷ؀ڥߏஙՄೳʂ
    ։ൃऀ" ։ൃऀ# ։ൃऀ$
    .VMUJ&OWJSPONFOU

    View Slide

  12. "NQMJGZ$POTPMFͰര଎$*$%ߏங
    ϒϥϯνߋ৽ͰσϓϩΠࣗಈԽʂ
    ຊ൪
    "NQMJGZ$POTPMF
    $*$%
    1VTINBTUFSCSBODI 1VTITUBHJOHCSBODI
    εςʔδϯά
    "NQMJGZ$POTPMF
    $*$%

    View Slide

  13. ੜ࢈ੑͷ՝୊શͯղܾʂ
    ü ࣮૷ͷଐਓతͳϒϨ
    ü ϦϦʔεͷखؒ
    ü Ұͭͷ֬ೝ؀ڥͷऔΓ߹͍
    —"--(3&&/—

    View Slide

  14. ඼࣭՝୊͸গ͠վળʂ
    ü ӡ༻ͷΦϖϛεݮ
    "NQMJGZ$POTPMFͷ(JUIVC࿈ܞʹΑΓϦϦʔεΦϖϨʔγϣϯ͕ҰݩԽɻ
    • ϦϦʔεޙͷো֐ݮ
    ˞$ZQSFTTͰ&&ςετಋೖݕ౼͢Δ΋ɺ "NQMJGZ$POTPMFͷσϓϩΠ࣌ؒͷ౎߹ͰҰ୴தࢭɻ
    ରࡦݕ౼தɻɻɻ

    View Slide

  15. "84"NQMJGZ
    ΊͬͪΌ͑͑࢓ࣄ͠·͢΍Μʂ

    View Slide

  16. Ͱ΋ۤ೉΋͋Γ·ͨ͠ɻɻɻ

    View Slide

  17. ͸·ͬͨϙΠϯτᶃ
    ؀ڥผͷύϥϝʔλ౉͠ʹۤઓ
    "84"NQMJGZ
    όοΫΤϯυ
    ύϥϝʔλ
    ɾଞ"84Ϧιʔεͷ"3/
    ɾ"1*ͷೝূΩʔ FUD
    ຊ൪ εςʔδϯά ։ൃ
    "84"NQMJGZ
    όοΫΤϯυ
    "84"NQMJGZ
    όοΫΤϯυ

    View Slide

  18. UFBNQSPWJEFSJOGPKTPO
    ͜ͷϑΝΠϧʹ؀ڥผύϥϝʔλ௥Ճ
    "NQMJGZ$POTPMFͰ
    ಈ͔ͳ͍ʂʁ
    (JUIVCʹίϛοτ
    ඞཁʂʁ
    ͸·ͬͨϙΠϯτᶃ
    ؀ڥผͷύϥϝʔλ౉͠ʹۤઓ

    View Slide

  19. ͸·ͬͨϙΠϯτᶃ
    1BSBNFUFS4UPSFͰղܾʂ
    ຊ൪ εςʔδϯά ։ൃ
    1BSBNFUFS
    4UPSF
    "84"NQMJGZ
    όοΫΤϯυ
    "84"NQMJGZ
    όοΫΤϯυ
    "84"NQMJGZ
    όοΫΤϯυ
    ᶃύϥϝʔλ஋Λొ࿥
    ᶄσϓϩΠ࣌ʹ
    ύϥϝʔλऔಘ

    View Slide

  20. ͸·ͬͨϙΠϯτᶄ
    ผܥ౷ͷ4όέοτͷར༻ʹۤઓ
    DBSNPKQ
    ը૾༻
    4όέοτ
    ϗεςΟϯά༻
    4όέοτ
    ը૾ߋ৽
    όονॲཧ
    DBSNPKQ
    ը૾༻
    4όέοτ
    ϗεςΟϯά༻
    4όέοτ
    ը૾ߋ৽
    όονॲཧ
    ඥ෇͚ෆՄ
    چߏ੒ ༧ఆ͍ͯͨ͠ߏ੒

    View Slide

  21. ͸·ͬͨϙΠϯτᶄ
    $MPVE'SPOUΛઌ಄ʹ௥ՃͰճආ
    DBSNPKQ
    ը૾༻
    4όέοτ
    ϗεςΟϯά༻
    4όέοτ
    ը૾ߋ৽
    όονॲཧ
    ը૾༻
    4όέοτ
    ϗεςΟϯά༻
    4όέοτ
    ը૾ߋ৽
    όονॲཧ
    DBSNPKQ
    ඥ෇͚Մೳ
    چߏ੒ ৽ߏ੒

    View Slide

  22. ͜ΕΛ཈͓͍͑ͯͯʂ
    ಋೖɾӡ༻ͷϙΠϯτ

    View Slide

  23. ಋೖɾӡ༻ϙΠϯτᶃ
    ద੾ͳͱ͜ΖͰ"NQMJGZΛར༻
    ߴػೳͰ֦ுੑͷߴ͍
    όοΫΤϯυͷߏங͕؆୯
    "NQMJGZͰશͯߏங͸/(
    ˠංେԽʹΑΔอकੑͷ௿Լ

    View Slide

  24. ಋೖɾӡ༻ϙΠϯτᶃ
    ద੾ͳͱ͜ΖͰ"NQMJGZΛར༻
    ϞόΠϧɾ
    ϑϩϯτΤϯυ
    αʔϏε
    αʔϏε
    ϞόΠϧɾϑϩϯτΤϯυ։ൃ
    ˠ"84"NQMJGZ
    ͦͷଞͷ։ൃ
    ˠ$MPVE'PSNBUJPOɺ"84
    $%,
    "84"NQMJGZͷ໨త
    ϞόΠϧɺϑϩϯτΤϯυ
    ͷ։ൃޮ཰ΛߴΊΔ
    $%/

    View Slide

  25. ಋೖɾӡ༻ϙΠϯτᶄ
    $MPVE'PSNBUJPOͷجૅΛֶΜͰ͓͘
    $MPVE'PSNBUJPO
    "84"NQMJGZͷ
    جૅ͸$MPVE'PSNBUJPO
    "NQMJGZΛར༻͍ͯ͠Δͱʜ
    ɾόοΫΤϯυ։ൃͷτϥϒϧγϡʔςΟϯά
    ɾσϑΥϧτͷػೳʹύϥϝʔλͳͲઃఆ௥Ճ
    ˠ$MPVE'PSNBUJPOͷجૅΛ
    ஌͓ͬͯ͘ͱӡ༻ָ͕

    View Slide

  26. ಋೖɾӡ༻ϙΠϯτᶅ
    "84"NQMJGZͷखް͍αϙʔτΛར༻
    (JUIVCͰΦʔϓϯʹ
    *TTVF؅ཧ͕͞Ε͍ͯΔ
    "84αϙʔτ΋׆༻

    View Slide

  27. View Slide

  28. ͝ਗ਼ௌ
    ͋Γ͕ͱ͏
    ͍͟͝·ͨ͠ ΤϯδχΞɾͦͷଞ৬छେืूதʂ

    View Slide