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
マルチクラウドでいろいろ「がおって」みた / serverless-200125
Search
gaomar
January 25, 2020
Technology
670
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マルチクラウドでいろいろ「がおって」みた / serverless-200125
Serverless Meetup Kobe #1登壇資料です。
https://serverless.connpass.com/event/157159/
gaomar
January 25, 2020
More Decks by gaomar
See All by gaomar
PAD・enebular・Lexで 交通費を確認してみた / enebular-200902
gaomar
0
250
よくあるご質問をノーコードで試してみた / enebular-210210
gaomar
0
270
enebularで湯婆婆をノーコードで実装してみた / enebular-201201
gaomar
0
1.2k
CLOVA OCRをenebularで連携してみた / yurufuwaml-201104
gaomar
0
440
会社の受付システムをenebularでやってみる / 0yenRPA-201006
gaomar
0
280
ゆるふわマシンラーニング vol.4 / yurufuwaml-200702
gaomar
0
320
Makecode Arcadeハンズオン資料 / makecodearcade-0625
gaomar
2
580
M5StickCをLINE Beacon化してみた / m5stack-200207
gaomar
0
820
スマートスピーカーミーティング 20200130 / ssmtg-200130
gaomar
0
560
Other Decks in Technology
See All in Technology
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
3
2.1k
AIエージェントの開発・提供におけるセキュリティリスクの論点と対策
flatt_security
1
560
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
250
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
310
Tab5をRubyで動くパソコンにする
kishima
1
170
AIエージェントを雇う前に決める5つのこと
knishioka
1
150
Sony-DroidKaigi2026
sony
1
310
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
340
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
0
370
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
300
【Oracle AI Spotlight ウェビナー】AWSか、Azureか、Google Cloudか。その議論にオラクルを含める意義。
oracle4engineer
PRO
2
220
2026-09-04 SRE Tech Talk #15 怠惰なTerraform / Lazy Terraform
masasuzu
0
190
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
HDC tutorial
michielstock
2
840
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
490
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Everyday Curiosity
cassininazir
0
310
Ethics towards AI in product and experience design
skipperchong
2
360
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Transcript
TFSWFSMFTTLPCF ϚϧνΫϥυͰ͍Ζ͍Ζ ʮ͕͓ͬͯʯΈͨ M5
TFSWFSMFTTLPCF ࣗݾհʢ͕͓·Δʣ ॴଐɿגࣜձࣾΞΠΤϯλʔɹେࡕࢧళ ɹɹɹ3%ɹೖࣾ ɹɹɹεϚʔτεϐʔΧʔΤόϯδΣϦετ ɹɹɹ-*/&"1*&YQFSUʢʙʣ ɹɹɹ"MFYB$IBNQJPOʢʙʣ ۀɿ"5-BCPɾ͕͓·Δक़ओ࠵ ɹɹɹεϚʔτεϐʔΧʔݚڀ։ൃ ɹɹɹ31"ݚڀ։ൃ
ߴഅɹయ !HBPNBS ͖ͳݴ༿ɿͶ͐$MPWB ͔ͨ͏·ɹͻΖͷΓ
TFSWFSMFTTLPCF εϚʔτεϐʔΧʔΞϓϦ։ൃೖ େධൃചதʂ
TFSWFSMFTTLPCF ຊ
TFSWFSMFTTLPCF ʮ͕͓ͬͯΔʯͱ ͋Γͱ͋ΒΏΔΫϥυαʔϏεΛͱʹ͔ͪ͘͝Ό·ͥʹͯ͠ Կ͔ͩྑ͔͘Βͳ͍͚Ͳɺ ࠷ऴతʹಈ͍ͯΈΜͳϋοϐʔʹͳΕΔ͜ͱ ཁ͢Δʹນͷหతͳҙຯ߹͍
TFSWFSMFTTLPCF "MFYB$IBNQJPOͷϖʔδʹ("͞Εͨʂ
TFSWFSMFTTLPCF ͕͓ͬͯΔͦͷ
TFSWFSMFTTLPCF ౙٳΈͰՋͩͬͨͷͰ 1PXFS"VUPNBUFͬͯ -*/&#PUΛ̏ͭ࡞ͬͯΈͨ
TFSWFSMFTTLPCF 1PXFS"VUPNBUFͱ
TFSWFSMFTTLPCF 0$3#PU $PNQVUFS7JTJPOΛར༻ͯ͠-*/&ʹ্͛ͨը૾ͷ தʹ͋ΔจࣈྻΛೝࣝͯͦ͠ͷ݁ՌΛฦ͢ɻ ೝࣝߴΊ͕ͩɺखॻ͖จࣈͷೝ͕͔ࣝͳΓ Լͨ͠
TFSWFSMFTTLPCF ༁#PU 5FYU5SBOTMBUPSΛར༻ͯ͠#PUʹ͛ͨຊޠΛ ӳޠʹ༁ͯ͠ฦͯ͘͠ΕΔɻ Ұ࣌ظʹͳͬͨࡖϚοεϧΛࢼͨ͠Βͬͱ ΧΦεͳ͜ͱʹͳ͍ͬͯͨ͆
TFSWFSMFTTLPCF $VTUPN7JTJPOΛར༻ͯ͠#PUʹ͛ͨը૾͔Β ࢦఆͨ͠λά໊Λฦ͢ɻ ίʔϯϑϨʔΫͷը૾Λ͛ΔͱίʔϯϑϨʔΫ ͔Ͳ͏͔ఆͯ͘͠ΕΔ ྨث#PU
TFSWFSMFTTLPCF (PPHMFͷ5FBDIBCMF.BDIJOF͕Ϡό͍ʂ
TFSWFSMFTTLPCF
TFSWFSMFTTLPCF ͜ΕΛͬͨϋϯζΦϯΛདྷ݄ߦ͍·͆͢ ຬһޚྱʂ
TFSWFSMFTTLPCF 0$3#PU ༁#PU ྨث#PU
TFSWFSMFTTLPCF ͕͓ͬͯΔͦͷ M5
TFSWFSMFTTLPCF #MVFUPPUIൃ৴ػͰ-*/&ΞϓϦΛܦ༝ͯ͠ ࢦఆͨ͠8FCIPPLઌʹ͍ۙͮͨਓͷใΛ ඈ͢͜ͱ͕Ͱ͖Δ
TFSWFSMFTTLPCF M5 .4UJDL$ ɾ&41ଂ ɾY5'5Χϥʔӷথ ɾN"I-J1PόοςϦʔ ɾ(SPWFϙʔτ ɾ.#ϑϥογϡϝϞϦ ɾ࣠ηϯα ɾ=
TFSWFSMFTTLPCF -*/&4JNQMF#FBDPOͱ -*/&4JNQMF#FBDPOͱɺ-*/&#PU։ൃऀ͚ͷϏʔίϯ σόΠε༷Ͱ͢ɻ-*/&4JNQMF#FBDPO#MVFUPPUI -PX&OFSHZ ҎԼɺʮ#-&ʯͱ͍͏ ͷ༷ʹͱ͍͓ͮͯ Γɺ൚༻ͷσόΠεͰ-*/&#FBDPOͷαʔϏεΛར༻͢Δ͜ ͱΛՄೳͱ͠·͢ɻ IUUQTHJUIVCDPNMJOFMJOFTJNQMFCFBDPOCMPCNBTUFS3&"%.&KBNE
TFSWFSMFTTLPCF ͔͜͜Β-*/&#PUͱඥ͚ͯ*%Λൃߦ͢Δ͚ͩ IUUQTNBOBHFSMJOFCJ[CFBDPOSFHJTUFS
TFSWFSMFTTLPCF -*/&#FBDPOΛ༗ޮԽ
TFSWFSMFTTLPCF Ͱ͖ͨͷͪ͜Β
None
TFSWFSMFTTLPCF ΞʔΩςΫνϟ M5 ʗडͨ͠Αʘ ʘ͕͓·Δ͕དྷͨΑʗ 66*% FOUFS 66*%
TFSWFSMFTTLPCF ͕͓ͬͯΔͦͷ
TFSWFSMFTTLPCF ͱ 23ίʔυܾࡁΦϯϥΠϯγϣοϐϯά ʹͬͨΓͰ͖ΔεϚϗܾࡁαʔϏε །Ұ։ൃ༻4%,͕ެ։͞Ε͓ͯΓɺ ୭Ͱ։ൃΛ࢝ΊΔ͜ͱ͕Ͱ͖Δ
TFSWFSMFTTLPCF 31"πʔϧͷҰछ ࡞ۀۀΛࣗಈԽ͢ΔϩϘοτΛ։ൃ͢Δπʔϧ
TFSWFSMFTTLPCF ΦʔέετϨʔλʔ͕͋Δ
TFSWFSMFTTLPCF 6J1BUI0SDIFTUSBUPSͱ ɾδϣϒͷεέδϡʔϧཧ ɾ౷߹ӡ༻ཧ ɾ෦౷੍ ɾηΩϡϦςΟରࡦ ɾॊೈͳ֦ுੑ
TFSWFSMFTTLPCF ॊೈͳ֦ுੑ ɾ31"ͷཧػೳΛ3&45"1*ͱͯ͠ެ։ ɾϩϘͷىಈࢦ͕ࣔ؆୯ʹͰ͖Δ ɾ֎෦ͷ༷ʑͳαʔϏεͱ࿈ܞ͢Δ͜ͱ͕Մೳʂ
TFSWFSMFTTLPCF Ͱ͖ͨͷͪ͜Β
TFSWFSMFTTLPCF IUUQTZPVUVCF:#7TSMH
TFSWFSMFTTLPCF ΞʔΩςΫνϟ ΦʔέετϨʔλʔ ʘܾࡁใೖྗʂʗ -*/&1BZ ܾࡁ (JU)VC
TFSWFSMFTTLPCF -*''ʢ-*/&'POUFOE'SBNFXPSLʣ -*/&ΞϓϦͰಈ࡞͢ΔΣϒΞϓϦͷϓϥοτϑΥʔϜ ϢʔβʔใΛ׆༻ͨ͠ػೳΛఏڙͨ͠Γɺ ϢʔβʔͷΘΓʹϝοηʔδΛૹ৴ͨ͠ΓͰ͖·͢ ˞-*''ܦ༝Ͱ-*/&ͷϓϩϑΟʔϧ͕औಘՄೳ ˞-*''W͔Β8FCܦ༝Ͱར༻Մೳʹ
TFSWFSMFTTLPCF 6J1BUIϑϩʔਤ ύϒϦογϡͯ͠ ΦʔέετϨʔλʔʹΞοϓ͢Δ
TFSWFSMFTTLPCF ΦʔέετϨʔλʔʹϩϘ͕Ξοϓ͞ΕΔ όʔδϣϯཧ͕Մೳʂ
TFSWFSMFTTLPCF ͔͜͜Β։ൃΑΓͳ
TFSWFSMFTTLPCF -*/&1BZܾࡁॲཧ7VFKT // ܾࡁ༧ let options = { productName: "ϩοΫղআ",
amount: 1, // ֹۚʢ͜ͷ߹1ԁʣ currency: "JPY", // ຊԁ orderId: uuid(), confirmUrl: process.env.VUE_APP_LINE_PAY_CONFIRM_URL } pay.reserve(options).then((response) => { let reservation = options reservation.transactionId = response.info.transactionId reservation.paymentUrl = response.info.paymentUrl.web callback(null, { statusCode: 200, body: JSON.stringify(reservation), headers: headers }) }) ɾBNPVOUɿֹۚ ɾPSEFS*Eɿܾࡁཧ൪߸ ɾDPOpSN6SMɿܾࡁޙભҠ63- ɾSFTFSWFɿॲཧ࣮ߦ IUUQTQBZMJOFNFKQEFWFMPQFSTBQJTPOMJOF"QJT MPDBMFKB@+1 ܾࡁ༧
TFSWFSMFTTLPCF -*/&1BZܾࡁॲཧ7VFKT // ܾࡁॲཧ const transactionId = params.get('transactionId') const reservations
= JSON.parse(params.get('reservations')) let confirmation = { transactionId: transactionId, amount: reservations.amount, currency: reservations.currency } pay.confirm(confirmation).then((response) => { callback(null, { statusCode: 200, body: 'ܾࡁྃ͠·ͨ͠ʂ', headers: headers }) }) ɾUSBOTBDUJPO*Eɿܾࡁ൪߸ ɾBNPVOUɿܾࡁ࣌ͷֹۚ ɾDVSSFODZɿܾࡁ࣌ͷຊԁ ɾDPOpSNɿॲཧ࣮ߦ IUUQTQBZMJOFNFKQEFWFMPQFSTBQJTPOMJOF"QJT MPDBMFKB@+1 ܾࡁ֬ೝ
TFSWFSMFTTLPCF ࣮ݱ͢ΔͨΊͷεςοϓ͕໘͍X ɾΞΫηετʔΫϯΛൃߦ͢Δ ɾαʔϏεΠϯελϯεࣝผࢠऔಘ ɾ3FMFBTF,FZΛऔಘ͢Δ ɾδϣϒʢϩϘʣΛ࣮ߦ͢Δ
TFSWFSMFTTLPCF ֎෦αʔϏεͱ࿈ܞ͢ΔͨΊʹඞཁͳ τʔΫϯ3FMFBTF,FZΛऔಘ͢Δ
TFSWFSMFTTLPCF ΞΫηετʔΫϯΛൃߦ͢Δ IUUQTEPDTVJQBUIDPNPSDIFTUSBUPSWSFGFSFODFTFDUJPOHFUUJOHSFGSFTIUPLFO ֤छτʔΫϯΛϝϞ
TFSWFSMFTTLPCF τʔΫϯͷ༗ޮ࣌ؒ ࣌ؒͰΕ·͢
TFSWFSMFTTLPCF ͦΕҎ֎ʹෳͷ"1*Λୟ͔ͳ͍ͱ͍͚ͳ͍PS[
TFSWFSMFTTLPCF ·ͱΊ
TFSWFSMFTTLPCF ɾ1PXFS"VUPNBUFϊϯίʔςΟϯάͰ৭ʑͰ͖Δ ɾ͓ख࣋ͪͷσόΠεΛ-*/&#FBDPOԽՄೳ ɾ-*/&1BZ།Ұ։ൃ4%,͕ެ։͞Ε͍ͯΔ ɾ4UBSU+PCTؔͰϩϘΛ࣮ߦͰ͖Δ ɾൃߦͨ͠τʔΫϯͷ༗ޮ࣌ؒ࣌ؒ ɾ͍ΖΜͳ࿈ܞָ͍͠ʘ ?P? ʗ
TFSWFSMFTTLPCF ࠂ
TFSWFSMFTTLPCF ɹ-*/&ͷνϟοτϘοτΛ࡞Ζ͏!͋ͷϋϧΧε'
TFSWFSMFTTLPCF ɹ31"ษڧˍ-5ձʂ31"-5ϋϯζΦϯࢧ෦WPM!େࡕ
TFSWFSMFTTLPCF εϚʔτεϐʔΧʔΛ༡ͼ͓ͨ͢ձ େࡕ ໊ݹ ౦ژ ̏ڌಉ࣌தܧ
TFSWFSMFTTLPCF 7PJDF$PO+BQBO ຊ࠷େڃͷ76*ɾεϚʔτεϐʔΧʔΠϕϯτ IUUQTWPJDFDPOKBQBOBBKVHKQ
TFSWFSMFTTLPCF =ׂҾΫʔϙϯίʔυ vcj2020kobe
TFSWFSMFTTLPCF ϦΞϧλΠϜΞϯέʔτ
TFSWFSMFTTLPCF ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ M5