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
Azure Functions と SendGrid の良い関係
Search
Tatsuro Shibamura
November 12, 2019
Programming
0
1k
Azure Functions と SendGrid の良い関係
Tatsuro Shibamura
November 12, 2019
Tweet
Share
More Decks by Tatsuro Shibamura
See All by Tatsuro Shibamura
# Azure Cosmos DB パフォーマンス最適化入門 - 設計・開発・運用の実践テクニック
shibayan
0
130
Hack Azure! #5 - Geek of Azure Serverless
shibayan
0
83
.NET Conf 2020 Online - .NET 5 リリース記念パーティートーク
shibayan
0
8.5k
Terraform Provider for Azure に貢献してみた話
shibayan
0
550
Azure Serverless を活用したリアルタイム Web のすべて
shibayan
1
2.7k
祝 東日本リージョン一般提供! Azure Application Insights 基礎と実践
shibayan
1
40k
なかなか楽にならないSSL/TLS証明書の話
shibayan
2
1.6k
.NET Conf 2018 Tokyo
shibayan
1
3.9k
最近の Azure App Service について
shibayan
0
1.2k
Other Decks in Programming
See All in Programming
運用しながらリアーキテクチャ
nealle
0
260
PEPCは何を変えようとしていたのか
ken7253
3
330
TCAを用いたAmebaのリアーキテクチャ
dazy
0
250
Introduction to C Extensions
sylph01
3
140
気がついたら子供が社会人になって 自分と同じモバイルアプリエンジニアになった件 / Parent-Child Engineers
koishi
0
150
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
1.2k
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
2
740
Devin入門 〜月500ドルから始まるAIチームメイトとの開発生活〜 / Introduction Devin 〜Development With AI Teammates〜
rkaga
5
1.8k
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
250
Drawing Heighway’s Dragon- Recursive Function Rewrite- From Imperative Style in Pascal 64 To Functional Style in Scala 3
philipschwarz
PRO
0
190
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
190
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
130
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Designing Experiences People Love
moore
140
23k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Making Projects Easy
brettharned
116
6.1k
Automating Front-end Workflow
addyosmani
1369
200k
Gamification - CAS2011
davidbonilla
80
5.2k
Designing for Performance
lara
605
68k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Statistics for Hackers
jakevdp
797
220k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Designing for humans not robots
tammielis
250
25k
Transcript
Azure Functions と SendGrid の良い関係 SendGrid Night #8 @shibayan
自己紹介 Tatsuro Shibamura @shibayan https://shibayan.jp/ Azure / Serverless 好き
メール送信に必要なもの • 大量送信・スパイクにも対応できる柔軟なスケーリング • 障害発生時にもメールが失われない仕組み • 復旧後にはリトライが行われる・行える仕組み • 送信したメールのトラッキング •
送信完了、バウンス、スパム、メール開封など
バックエンドに Azure Functions を • SendGrid に公式で対応済み • Microsoft.Azure.WebJobs.Extensions.SendGrid パッケージ
• 柔軟なスケーリングオプション、イベントドリブンに最適 • 使った分だけ課金、インスタンスは自動で 200 まで増える • 従量課金プラン (Consumption Plan) の場合 • Queue を使った Load leveling や Event Webhook への対応
SendGrid バインドを使う • テンプレートが用意されているので簡単 Azure 以外では SendGrid のみ標準サポート
メール送信の Function • Function の実装も非常にシンプル SendGridMessage を 組み立てて返すだけ Queue からメッセージを受け取る
モニタリングも標準装備 • 2000 メッセージを Queue に追加した時のグラフ例 Outgoing Request が Mail
Send API の実行回数
Mail Send API の状態も一目で • API のエラーレートが高くなった、など確認できる API 単位での統計を確認できる
Event Webhook を受ける • HttpTrigger を使って簡単に受け取れる • Azure FunctionsでEvent Webhookデータを受信する
• https://sendgrid.kke.co.jp/blog/?p=9403
ワークフローの実装 • Azure Logic App の SendGrid Connector • 送信だけではなく、Global
Suppressions も使える(らしい • 複雑なフローは Durable Functions で実現 • Azure Functions の 超イケてる Durable Functions を使ってみる • https://qiita.com/TsuyoshiUshio@github/items/3e8acb1b0388b604 5fdb