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
サーバーレスアーキテクチャで Twilioを安全に運用しよう!
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kiminari Homma
December 08, 2015
Technology
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーバーレスアーキテクチャで Twilioを安全に運用しよう!
https://twiliojp-ug.doorkeeper.jp/events/35301
での登壇資料です。
Kiminari Homma
December 08, 2015
More Decks by Kiminari Homma
See All by Kiminari Homma
Twilio Meetup 東京 2022/11/11
honkimi
0
78
Twilio iOS 徹底攻略
honkimi
1
1.3k
2021年 Twilio Voice 報告
honkimi
0
360
WebRTC ビジネスの失敗と成功
honkimi
2
1.9k
最近の Twilio トレンド報告
honkimi
0
430
Twilio Meet Up
honkimi
0
92
利用ユーザーからみた Twilio の紹介
honkimi
0
110
Zendesk App を Heroku で作ってみた話
honkimi
0
190
国内における Twilio x Alexa
honkimi
0
800
Other Decks in Technology
See All in Technology
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
590
noUncheckedIndexedAccess、3時間、1万円。 / noUncheckedIndexedAccess, 3 Hours, 10,000 JPY.
kaonavi
1
340
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
530
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1.2k
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
2
1.6k
ABEMA の Datadog × OTel 基盤、 中から見るか? 外から見るか?
tetsuya28
0
110
なぜ Platform Engineering の土台に Kubernetes を選ぶのか
r4ynode
1
300
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
2
220
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.8k
データ基盤をDataformで整えた話 〜 開発環境を添えて 〜
takapy
0
130
探して_入れて_作って_使う_Agent_Skills___LT.pdf
peintangos
2
180
LLMと共に進化するプロセスを目指して
ymatsuwitter
12
3.7k
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
0
960
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Visualization
eitanlees
152
17k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.4k
What's in a price? How to price your products and services
michaelherold
247
13k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
460
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Side Projects
sachag
455
43k
Transcript
5XJMJP"1*ษڧձ7PM αʔόʔϨεΞʔΩςΫνϟ Ͱ5XJMJPΛ҆શʹӡ༻͠Α͏ʂ TFMGSFF MMD ,JNJOBSJ)PNNB
ࣗݾհ
ຊؒ ߖ @kimihom ϘΫίί ӡӦऀ http://www.bokukoko.info/ CTO at selfree,llc Ruby
on Rails, AWS, Heroku, Android, iOS TwilioJP-UG ϝϯόʔ
ίʔϧίωΫτ as a Service ސ٬ใͱ࿈ಈͨ͠ίʔϧηϯλʔΛߏங Webϒϥβ͕ిΘΓ ֨҆ɾຊ֨ػೳɾଈಋೖ ̎िؒແྉτϥΠΞϧ࣮ࢪத αʔϏεհ https://www.callconnect.jp/
$POUFOUT w 5XJMJPͷ෮श w ϑΥʔϧόοΫ63- w αʔόʔϨεΞʔΩςΫνϟ w ٳܜ w
ϋϯζΦϯ
ͷ෮श
Voice Client ిͷड৴ ԻϑΝΠϧ࠶ੜ௨Ի μΠϠϧૢ࡞ʹԠͨ͡ಈ࡞ସ ௨தͷిͷ੍ޚ ిͷൃ৴ ϒϥβɾεϚϗͰి Voice ͱ࿈ಈͯ͋͠ΒΏΔ௨Λૢ࡞
and More.. →ࣗ༝ʹΈ߹ΘͤՄʂ
TwiML Twilio ͰిΛड৴ɾൃ৴͢Δͱ͖ͳͲɺ Twilio ಈ࡞໋ྩΛग़ͨ͢ΊͷXML Ͳ͏͢Ε͍͍ʁ ͜͏͠Ζ(TwiML) Webαʔόʔ <?xml version="1.0"
encoding="UTF-8"?> <Response> <Gather action=“https://www.myapp.com/action”> <Play loop=“5”>https://www.myasset.com/voice.wav</Play> </Gather> </Response> αϯϓϧ
REST API HTTP ௨৴Ͱ Twilio ͷใͷऔಘɾ࡞ɾߋ৽ɾআͳͲΛߦ͏ ֤ݴޠʹରԠ (PHP, Ruby, Python,
Node.js etc) Webαʔόʔ ͜Εͬͯ ͜͏ͳΓ·ͨ͠ ྫ͑ ɾి൪߸ͷऔಘɺߪೖɺআ ɾిΛ͔͚Δɺ௨ͷߋ৽ ɾSMS ૹ৴ ɾͦͷଞɺTwilio ϚΠϖʔδʹ͋Δૢ࡞ΛࣗલͰ࣮
ϑΥʔϧόοΫ63-
ϦΫΤετURL ͱ ϑΥʔϧόοΫURL ి͕͔͔͖ͬͯͨͱ͖ʹɺ࠷ॳʹ Twilo ͕ฉ͖ʹߦ͘ URL Ͳ͏͢Ε͍͍ʁ Error! Webαʔόʔ
ϦΫΤετURL ϦΫΤετ URL ͰTwiMLΛղੳͰ͖ͳ͔ͬͨ߹ʹฉ͖ʹߦ͘URL ϑΥʔϧόοΫ URL ϦΫΤετ URL Ͳ͏͢Ε͍͍ʁ ϑΥʔϧόοΫ URL ͜͏͠Ζ(TwiML)
ʮΞϓϦέʔγϣϯͷΤϥʔ͕ൃੜ͠·ͨ͠ɻʯ 4BZ
1SPCMFN w ిΛ͔͚ͨਓ͔͕͙͢͠ʹΘ͔Βͳ͍ w ΞϥʔττϦΨʔ࠷ͯ͘ w 5XJMJPμογϡϘʔυͷϩάΛຖճݟΔͷେม w ΞϓϦέʔγϣϯͷ͍ͤʹͳͬͯ͠·͏ ͦͷ௨Γ͕ͩ
ϦΫΤετURL ͱ ϑΥʔϧόοΫURL ి͕͔͔͖ͬͯͨͱ͖ʹɺ࠷ॳʹ Twilo ͕ฉ͖ʹߦ͘ URL Ͳ͏͢Ε͍͍ʁ Error! Webαʔόʔ
ϦΫΤετURL ϦΫΤετ URL ͰTwiMLΛղੳͰ͖ͳ͔ͬͨ߹ʹฉ͖ʹߦ͘URL ϑΥʔϧόοΫ URL ϦΫΤετ URL Ͳ͏͢Ε͍͍ʁ ϑΥʔϧόοΫ URL ͜͏͠Ζ(TwiML) ?
ϑΥʔϧόοΫ63-ઌͷ݅ w ϦΫΤετ63-ͱҧ͏αʔόʔͰ͋Δ w ·ͣམͪΔ͜ͱ͕ͳ͍ w ΤϥʔΛݕͰ͖ΔΑ͏ʹ͢ΔͨΊɺ੩తͳϑΝΠ ϧͰͳ͘ɺϓϩάϥϜΛಈ͔͍ͨ͠
ͦ͜Ͱ lαʔόʔϨεΞʔΩςΫνϟz 1)1ͳͲͷαʔόʔΛ͜ͷͨΊʹΘ͟Θ ͟ݐͯΔͷ࡞Δͷཧ͢Δͷ໘ɻ ͓͔͔ͦͯۚ͠Δɻ
"84-BNCEB "NB[PO"1*(BUFXBZ lαʔόʔϨεΞʔΩςΫνϟz
ɾ"84ͷΠϕϯτΛτϦΨʹɺҙͷ ίʔυΛ࣮ߦ ɾ/PEFKT+BWB1ZUIPO ɾ-JOVYڥʹ"844%, *NBHF.BHJDL ͕ଂ ɾOPEF@NPEVMFTͳͲΛ;JQʹݻΊͯΞοϓ ϩʔυՄ ɾ͔݄ʹສ݅ͷϦΫΤετ͓Αͼ
(#ඵͷίϯϐϡʔςΟϯά࣌ؒ ͕ແྉ ɾϩά$MPVE8BUDIͰӾཡ "84-BNCEB
w "NB[PO4ʹը૾͕Ξοϓϩʔυ͞ΕͨλΠϛϯά Ͱɺը૾ΛϦαΠζ w "NB[PO%ZOBNP%#ʹσʔλ͕ೖ͞ΕͨλΠϛϯά ͰɺσʔλΛܗ w $SPOͷΑ͏ʹҰճͷλΠϛϯάͰɺόονॲཧΛ ࣮ߦ w
όοΫάϥϯυδϣϒΛ"84-BNCEBԽ &YBNQMFTPG"84-BNCEB
"NB[PO"1*(BUFXBZ ɾ֎෦"1*Λެ։͢Δͷʹཱͭ ɾ"84-BNCEBΛΤϯυϙΠϯτͱ ͯ͠ࢦఆՄೳ ɾಠࣗ63-ͷൃߦ ɾ"1*ͷόʔδϣϯཧɾ࣮ߦ੍ݶ ɾJ04"OESPJE͚4%,ൃߦ ɾ4XBHHFSରԠ ࠓͷ݄ϦϦʔεʂ ݄ʹ౦ژϦʔδϣϯ։ઃ
ͣͬͱಈ͍͍ͯΔzαʔόʔzͷ֓೦͕ͳ͘ͳΓɺ ඞཁʹͳͬͨͱ͖ʹىಈͯ͠αʔόʔͷΑ͏ʹৼΔ͏ ίετɺߴՄ༻ੑΛ࣮ݱ
:PVS 4FSWFS Ϧ Ϋ Τ ε τ 6 3- Τ
ϥ ʔ ʂ ి ᶃ ᶄ ᶅ "1* (BUFXBZ -BNCEB ϑ Υ ʔ ϧ ό ο Ϋ 6 3 - 5X J. -
5XJMJPϦΫΤετ63-Λ αʔόʔϨεΞʔΩςΫνϟԽʁ ͦΕ (PPE4PMVUJPO
ࠓճͷϋϯζΦϯ w "84-BNCEBͷίʔυ࡞ w "NB[PO"1*(BUFXBZͷઃఆͱσϓϩΠ w ϑΥʔϧόοΫ63-Λ"NB[PO"1*(BUFXBZ w 5XJMJPͷϦΫΤετ63-Λଘࡏ͠ͳ͍63- w
ಈ࡞֬ೝ
ϋϯζΦϯखॱ݄ͷ 5XJMJP"EWFOU$BMFOEBSʹͯ