Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Azure Functions と SendGrid の良い関係
Search
Tatsuro Shibamura
PRO
November 12, 2019
Programming
1.4k
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.4k
Azure Cosmos DB パフォーマンス最適化入門 - 設計・開発・運用の実践テクニック
shibayan
PRO
0
600
Azure Serverless のパフォーマンスとコストを 最適化
shibayan
PRO
0
20
Microsoft Azure で実現する最新クラウドアーキテクチャ
shibayan
PRO
0
27
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
670
Azure Serverless を活用したリアルタイム Web のすべて
shibayan
PRO
1
3.1k
祝 東日本リージョン一般提供! Azure Application Insights 基礎と実践
shibayan
PRO
1
42k
Other Decks in Programming
See All in Programming
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
410
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
360
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
430
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
280
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
550
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
250
SREの越境 / SRE Collaboration
y0hgi
2
230
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
300
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
170
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
1
150
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
140
FreeBSDでZabbixを動かす
kenkino
0
300
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Everyday Curiosity
cassininazir
0
320
Documentation Writing (for coders)
carmenintech
77
5.5k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.9k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
540
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
The Curse of the Amulet
leimatthew05
3
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Automating Front-end Workflow
addyosmani
1369
210k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Rails Girls Zürich Keynote
gr2m
96
14k
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