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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
j-yamamoto
July 31, 2020
Technology
8.2k
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
クラウド上のデータ復旧で見落としがちな制約: 医療系 SaaS の BCP 設計から得た教訓
kakehashi
PRO
0
3.1k
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
870
地域 SRE コミュニティ最前線 / SRE NEXT 2026 Discussion Night Track C
muziyoshiz
0
200
はじめてのWDM
miyukichi_ospf
1
140
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
0
130
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
130
知らん間に、回ってる
ming_ayami
0
380
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
4.5k
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
8
3.9k
Foxgloveについて 実際にExtensionを開発して公開するまでの話 / About Foxglove: The Story of Developing and Releasing an Extension
ry0_ka
0
190
product engineering with qa
nealle
0
160
環境凍結という Toil を倒す -セルフサービス型 Ephemeral テスト環境の 設計と実践
shirouz
1
2.1k
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
810
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
How to build a perfect <img>
jonoalderson
1
5.8k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Writing Fast Ruby
sferik
630
63k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
The Limits of Empathy - UXLibs8
cassininazir
1
410
How GitHub (no longer) Works
holman
316
150k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
670
Producing Creativity
orderedlist
PRO
348
40k
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
͝ਗ਼ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ ΤϯδχΞɾͦͷଞ৬छେืूதʂ