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
850
Azure Functions と SendGrid の良い関係
Tatsuro Shibamura
November 12, 2019
Tweet
Share
More Decks by Tatsuro Shibamura
See All by Tatsuro Shibamura
Hack Azure! #5 - Geek of Azure Serverless
shibayan
0
67
.NET Conf 2020 Online - .NET 5 リリース記念パーティートーク
shibayan
0
7.9k
Terraform Provider for Azure に貢献してみた話
shibayan
0
470
Azure Serverless を活用したリアルタイム Web のすべて
shibayan
1
2.5k
祝 東日本リージョン一般提供! Azure Application Insights 基礎と実践
shibayan
1
37k
なかなか楽にならないSSL/TLS証明書の話
shibayan
2
1.4k
.NET Conf 2018 Tokyo
shibayan
1
3.7k
最近の Azure App Service について
shibayan
0
1.1k
一休.com がどのように SendGrid と仲良く付き合っているか
shibayan
0
4.7k
Other Decks in Programming
See All in Programming
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
8
3.6k
オブジェクト指向のリ・オリエンテーション~歴史を振り返り、AI時代に向きなおる~
hanyudaeiiti
10
5.6k
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
22
15k
エンターテイメント業界で利用されるAWS
demuyan
0
200
Ruby Function Composition
bkuhlmann
1
330
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
8
2.2k
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
160
1인 개발자로 행복하게 살기 - GDG 송도 헬로월드 2024
benjaminkim
1
5.6k
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
180
CQRS/ES avec Symfony, c’est (trop) bien !
jeremyfreeagent
1
630
Milestoner
bkuhlmann
1
400
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
Featured
See All Featured
Faster Mobile Websites
deanohume
297
30k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
20
1.6k
What the flash - Photography Introduction
edds
64
11k
Facilitating Awesome Meetings
lara
41
5.6k
In The Pink: A Labor of Love
frogandcode
138
21k
The Power of CSS Pseudo Elements
geoffreycrofte
59
5k
How STYLIGHT went responsive
nonsquared
92
4.8k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
15
2.6k
Atom: Resistance is Futile
akmur
258
25k
Thoughts on Productivity
jonyablonski
57
3.8k
How GitHub (no longer) Works
holman
304
140k
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