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
PRO
November 12, 2019
Programming
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Azure Functions と SendGrid の良い関係
Tatsuro Shibamura
PRO
November 12, 2019
More Decks by Tatsuro Shibamura
See All by Tatsuro Shibamura
AI Agent を本番環境へ―― Microsoft Foundry × Azure Serverless で作る Enterprise-Ready な基盤
shibayan
PRO
2
1.3k
Azure Cosmos DB パフォーマンス最適化入門 - 設計・開発・運用の実践テクニック
shibayan
PRO
0
580
Azure Serverless のパフォーマンスとコストを 最適化
shibayan
PRO
0
16
Microsoft Azure で実現する最新クラウドアーキテクチャ
shibayan
PRO
0
24
Hack Azure! #5 - Geek of Azure Serverless
shibayan
PRO
0
140
.NET Conf 2020 Online - .NET 5 リリース記念パーティートーク
shibayan
PRO
0
10k
Terraform Provider for Azure に貢献してみた話
shibayan
PRO
0
660
Azure Serverless を活用したリアルタイム Web のすべて
shibayan
PRO
1
3.1k
祝 東日本リージョン一般提供! Azure Application Insights 基礎と実践
shibayan
PRO
1
42k
Other Decks in Programming
See All in Programming
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
120
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
1.2k
業務時間外もAIに働いてもらう話
colorful12
2
8.7k
リアルな遅延を測る仕様
kota_yata
1
130
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
230
Introducing Stack Pull Request in GitHub
kkamegawa
0
110
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
320
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.3k
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
240
Go 1.27 における memory allocation の高速化
andpad
0
350
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
240
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.3k
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.5k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
220
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
530
What's in a price? How to price your products and services
michaelherold
247
13k
Designing Experiences People Love
moore
143
24k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
400
Leo the Paperboy
mayatellez
8
2.2k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
300
Thoughts on Productivity
jonyablonski
76
5.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
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