Slide 1

Slide 1 text

Azure Functions で、 SendGrid の Event Webhook からの 通知を受け取ってみる

Slide 2

Slide 2 text

⾃⼰紹介 • 名前 • Twitter : @TonyTonyKun(トニー) • 仕事 • C# で業務アプリケーションを開発しています。 • Azure をベースに ASP.NET を使うことが多いです。 • Blog • ROMANCE DAWN for the new world • http://gooner.hateblo.jp/

Slide 3

Slide 3 text

SendGrid とは? • Azure から使える便利なメール配信サービス しかし、送信したはずのメールが届かないことも・・・

Slide 4

Slide 4 text

Event Webhook でログを解析する • メールを送信する際に発⽣するイベントを指定した URL にPOSTすることができる • アドレスが間違っていて届かない • 受信メールサーバーでブロックされている • 配信が遅延している • でも、使うにはそれなりの⼿間がかかる • POST された通知を受け取る API を実装する • イベントの JSON データをストレージに転送するコードを書く • クラウドの Web サーバーにデプロイする

Slide 5

Slide 5 text

そこで、Azure Functions

Slide 6

Slide 6 text

Azure Functions を作る 初期値の「Generic JSON」だと、SendGrid から の通知を受け取れない。 必ず、「Not a Webhook」に変更する必要あり!

Slide 7

Slide 7 text

Azure DocumentDB に Output する ここから Azure DocumentDB を作成して、 接続⽂字列の設定を追加できる。

Slide 8

Slide 8 text

Azure Functions のコードを編集する SendGrid から POST された JSON データを Output の Bindings にセットする。

Slide 9

Slide 9 text

SendGrid の Event Webhook を設定する Event Webhook から POST する URL に、 Azure Functions の URL を設定する。 ※ SendGrind のポータルサイト

Slide 10

Slide 10 text

Demo

Slide 11

Slide 11 text

Azure DocumentDB に転送されたデータ 無効なメールアドレスのため、メールの送信に 失敗したことがわかります。

Slide 12

Slide 12 text

まとめ • いま、Azure Functions がアツい! • API の実装とか、デプロイとか必要なし • Trigger が発⽕したときだけ実⾏されるので、コス ト的にもうれしい 使ってみて要望があれば、フィードバックしましょう https://feedback.azure.com/forums/355860-azure-functions

Slide 13

Slide 13 text

ご清聴ありがとうございました。