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
Amplify山あり_谷あり奮闘記.pdf
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
j-yamamoto
July 31, 2020
Technology
8.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amplify山あり_谷あり奮闘記.pdf
j-yamamoto
July 31, 2020
Other Decks in Technology
See All in Technology
サービス内で複数のOP・ASを連鎖させる(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
130
hookで自作する Claude Code の「実況ボード」
shinyasaita
2
230
AI時代のデータ基盤を考える問い
pacocat
0
740
Point Cloud as a Foreign Language for Multi-modal Large Language Model
takmin
0
300
[ホンマでっか SRE] あなたはなぜ SRE に?
_awache
0
360
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
atproto spaces概要
yamarten
0
110
Claude Teamプランの コスト最適化を考える
rfdnxbro
1
800
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
5
1k
マイナンバーカード本人確認の実装比較(OAuth/OIDC Numa (Immersion) Workshop 2026) / 20260825 numa-12
oidfj
PRO
0
340
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
480
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Building Adaptive Systems
keathley
44
3.2k
Practical Orchestrator
shlominoach
191
12k
Skip the Path - Find Your Career Trail
mkilby
1
200
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
A better future with KSS
kneath
240
18k
Side Projects
sachag
455
43k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Building AI with AI
inesmontani
PRO
1
1.2k
Transcript
"NQMJGZ ࢁ͋Γɺ୩͋Γฃಆه φΠϧגࣜձࣾ ࢁຊ४
• ࢯ໊ɿࢁຊ ४ • ॴଐɿ φΠϧגࣜձࣾ ϞϏϦςΟαʔϏεࣄۀ෦ • ΤϯδχΞྺɿ •
"84ར༻ྺɿ • ࠷ۙͷझຯɿ Ϛʔέλʔͷ࠺ʹ42-Λڭ͑Δ͜ͱ ࣗݾհ
• "84"NQMJGZಋೖʹࢸΔ·Ͱ • "84"NQMJGZΛಋೖͯ͠Έ࣮ͨମݧ • "84"NQMJGZಋೖΛݕ౼͍ͯ͠Δํ͚ͯ ͢͜ͱ
"84"NQMJGZ ಋೖʹࢸΔ·Ͱ
ΠϯϑϥߏͷมԽ ୈߏ ୈߏ 8IBU`T /FYU αʔόʔӡ༻ αʔόϨεԽ ୈߏ
๊͍͑ͯͨ՝ʢੜ࢈ੑʣ • ࣮ͷଐਓతͳϒϨ • ϦϦʔεͷखؒ • Ұͭͷ֬ೝڥͷऔΓ߹͍
๊͍͑ͯͨ՝ʢ࣭ʣ • ӡ༻ͷΦϖϛεݮ • ϦϦʔεޙͷোݮ
՝ղܾͷ伴 "84"NQMJGZ ୈߏ ୈߏ αʔόʔӡ༻ αʔόϨεԽ ୈߏ
ಋೖͯ͠ΈͯͲ͏ʁ
"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ϑϨʔϜϫʔΫͰ࣮
.VMUJ&OWػೳͰෳͷڥߏஙՄೳʂ ։ൃऀ" ։ൃऀ# ։ൃऀ$ .VMUJ&OWJSPONFOU
"NQMJGZ$POTPMFͰര$*$%ߏங ϒϥϯνߋ৽ͰσϓϩΠࣗಈԽʂ ຊ൪ "NQMJGZ$POTPMF $*$% 1VTINBTUFSCSBODI 1VTITUBHJOHCSBODI εςʔδϯά "NQMJGZ$POTPMF $*$%
ੜ࢈ੑͷ՝શͯղܾʂ ü ࣮ͷଐਓతͳϒϨ ü ϦϦʔεͷखؒ ü Ұͭͷ֬ೝڥͷऔΓ߹͍ —"--(3&&/—
࣭՝গ͠վળʂ ü ӡ༻ͷΦϖϛεݮ "NQMJGZ$POTPMFͷ(JUIVC࿈ܞʹΑΓϦϦʔεΦϖϨʔγϣϯ͕ҰݩԽɻ • ϦϦʔεޙͷোݮ ˞$ZQSFTTͰ&&ςετಋೖݕ౼͢Δɺ "NQMJGZ$POTPMFͷσϓϩΠ࣌ؒͷ߹ͰҰ୴தࢭɻ ରࡦݕ౼தɻɻɻ
"84"NQMJGZ ΊͬͪΌ͑͑ࣄ͠·͢Μʂ
Ͱۤ͋Γ·ͨ͠ɻɻɻ
·ͬͨϙΠϯτᶃ ڥผͷύϥϝʔλ͠ʹۤઓ "84"NQMJGZ όοΫΤϯυ ύϥϝʔλ ɾଞ"84Ϧιʔεͷ"3/ ɾ"1*ͷೝূΩʔ FUD ຊ൪ εςʔδϯά
։ൃ "84"NQMJGZ όοΫΤϯυ "84"NQMJGZ όοΫΤϯυ
UFBNQSPWJEFSJOGPKTPO ͜ͷϑΝΠϧʹڥผύϥϝʔλՃ "NQMJGZ$POTPMFͰ ಈ͔ͳ͍ʂʁ (JUIVCʹίϛοτ ඞཁʂʁ ·ͬͨϙΠϯτᶃ ڥผͷύϥϝʔλ͠ʹۤઓ
·ͬͨϙΠϯτᶃ 1BSBNFUFS4UPSFͰղܾʂ ຊ൪ εςʔδϯά ։ൃ 1BSBNFUFS 4UPSF "84"NQMJGZ όοΫΤϯυ "84"NQMJGZ
όοΫΤϯυ "84"NQMJGZ όοΫΤϯυ ᶃύϥϝʔλΛొ ᶄσϓϩΠ࣌ʹ ύϥϝʔλऔಘ
·ͬͨϙΠϯτᶄ ผܥ౷ͷ4όέοτͷར༻ʹۤઓ DBSNPKQ ը૾༻ 4όέοτ ϗεςΟϯά༻ 4όέοτ ը૾ߋ৽ όονॲཧ DBSNPKQ
ը૾༻ 4όέοτ ϗεςΟϯά༻ 4όέοτ ը૾ߋ৽ όονॲཧ ඥ͚ෆՄ چߏ ༧ఆ͍ͯͨ͠ߏ
·ͬͨϙΠϯτᶄ $MPVE'SPOUΛઌ಄ʹՃͰճආ DBSNPKQ ը૾༻ 4όέοτ ϗεςΟϯά༻ 4όέοτ ը૾ߋ৽ όονॲཧ ը૾༻
4όέοτ ϗεςΟϯά༻ 4όέοτ ը૾ߋ৽ όονॲཧ DBSNPKQ ඥ͚Մೳ چߏ ৽ߏ
͜ΕΛ͓͍͑ͯͯʂ ಋೖɾӡ༻ͷϙΠϯτ
ಋೖɾӡ༻ϙΠϯτᶃ దͳͱ͜ΖͰ"NQMJGZΛར༻ ߴػೳͰ֦ுੑͷߴ͍ όοΫΤϯυͷߏங͕؆୯ "NQMJGZͰશͯߏங/( ˠංେԽʹΑΔอकੑͷԼ
ಋೖɾӡ༻ϙΠϯτᶃ దͳͱ͜ΖͰ"NQMJGZΛར༻ ϞόΠϧɾ ϑϩϯτΤϯυ αʔϏε αʔϏε ϞόΠϧɾϑϩϯτΤϯυ։ൃ ˠ"84"NQMJGZ ͦͷଞͷ։ൃ ˠ$MPVE'PSNBUJPOɺ"84
$%, "84"NQMJGZͷత ϞόΠϧɺϑϩϯτΤϯυ ͷ։ൃޮΛߴΊΔ $%/
ಋೖɾӡ༻ϙΠϯτᶄ $MPVE'PSNBUJPOͷجૅΛֶΜͰ͓͘ $MPVE'PSNBUJPO "84"NQMJGZͷ جૅ$MPVE'PSNBUJPO "NQMJGZΛར༻͍ͯ͠Δͱʜ ɾόοΫΤϯυ։ൃͷτϥϒϧγϡʔςΟϯά ɾσϑΥϧτͷػೳʹύϥϝʔλͳͲઃఆՃ ˠ$MPVE'PSNBUJPOͷجૅΛ ͓ͬͯ͘ͱӡ༻ָ͕
ಋೖɾӡ༻ϙΠϯτᶅ "84"NQMJGZͷखް͍αϙʔτΛར༻ (JUIVCͰΦʔϓϯʹ *TTVFཧ͕͞Ε͍ͯΔ "84αϙʔτ׆༻
None
͝ਗ਼ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ ΤϯδχΞɾͦͷଞ৬छେืूதʂ