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
フロントエンドオブザーバビリティ on Google Cloud
yunosukey
0
110
オレを救った Cline を紹介する
codehex
16
15k
エンジニアに許された特別な時間の終わり
watany
35
32k
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
130
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
65
22k
たのしいSocketのしくみ / Socket Under a Microscope
coe401_
8
1.5k
変化の激しい時代における、こだわりのないエンジニアの強さ
satoshi256kbyte
1
880
Accelerate your key learnings of scaling modern Android apps
aldefy
0
100
JAWS Days 2025のインフラ
komakichi
1
370
Rubyと自由とAIと
yotii23
6
2k
TCAを用いたAmebaのリアーキテクチャ
dazy
0
250
AWS Step Functions は CDK で書こう!
konokenj
5
940
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
115
51k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
A Modern Web Designer's Workflow
chriscoyier
693
190k
KATA
mclloyd
29
14k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
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