狠狠撸

狠狠撸Share a Scribd company logo
Event Grid 事始め
2017/11/21
Masahiro Nishimura
Who is
? Name : 西村 正宏
? Work : シグマコンサルティング
? Twitter : @masalo_olv
? Facebook : masahiro.nishimura.69
? Blog : http://tech.masahiro.blog
? github : masalo-olv
第17回 Azure もくもく会
? 2017/12/02 (Sat) 13:00- 18:00
? 場所 :マイクロソフト品川本社
? Connpass で募集しています
– https://goo.gl/vi48tQ
注意事項
? 今回のお話は、2017年11月21日 時点の
情報を基にしています。
– 情报は最新のを见るようにしましょう。
今日のお話
? Event Grid 概要
? 細かい話
? デモ
? まとめ
EVENT GRID 概要
? Event Grid??
? 対応しているエンドポイント
? Cost
? Event Grid vs. Service Bus
? 注意点
Event Grid??
対応しているエンドポイント
? Publisher (イベントの送信元)
– Azure Blob Storage
– Azure Portal (管理系)
– Azure Resouce Group (管理系)
– Event Hub
– Custom Topics
これからどんどん追加されるらしい?
? Subscriber (イベントの受信先)
– Azure Function
– Logic Apps
– Azure Automations
– Web Hooks
– Microsoft Flow (しれっと増えてました)
対応しているエンドポイント
これからどんどん追加されるらしい?
? ?30.60 / 100万操作
– Eventgrid へのイベント送信、受信が対象
? 月当たりの無料使用料
– 100,000 操作
料金について
注意点
? 対応リージョン
プレビュー中のため、以下の二つだけ
? 米国西部 2 リージョン
? 米国中西部 リージョン
Event Grid vs. Azure Service Bus, Event Hub
? Event Grid
– イベント配信
? Azure Service Bus, Event Hub
– メッセージ配信
Event Grid は、メッセージの内容とか順序とかは気にし
ない
実装するアーキテクチャにより適切に使い分けましょう
細かい話
? 配信とリトライ
? フィルター
? Custom Topics
? Web Hooks
配信とリトライ
? (ほぼ) 確実に配信できる!
– こけたらリトライをやってくれるよ。
– リトライ間隔は 10秒、30秒 …
– プレビュー中は、2時間で有効期限が切れま
す!
? GA すると 24時間になる予定
フィルター
? Publisher からのトピックを Subscribe
するけど、一部のトピックは受信したくな
い時に使用します
フィルターの例
[前提条件]
? Blob Storage に画像がアップロードされたものを
Subscribe する
? Event Handler は、画像のうち PNG だけを受信したい
[Filter 条件]
? ファイル末尾を PNG のものだけを受信する
[設定場所]
? イベントサブスクリプション
フィルターの例
[設定例]
{
"properties": {
"destination": {
"endpointType": "webhook",
"properties": {
“endpointUrl”: [エンドポイントの URL]}
}, "filter": {
"includedEventTypes": [ "blobCreated" ],
"subjectEndsWith": ".png",
"subjectIsCaseSensitive": ”false”
}
}
}
Custom Topics
そもそも Topics って?
Topics には、以下の情報が含まれます
? イベント
? エンドポイント (Publisher が送信する先)
? イベントスキーマ
Custom Topics
独自に Publisher を作成する場合は、
Topics の発行時に認証がいる
[Topics の発行]
? SAS トークン (推奨)
? キー認証
に対応
Web Hooks について
独自の Web Service を使って、Event の Subscribe ができま
す
ただし、Web Hooks の検証が必要
[検証方法]
Event Grid より Post される“SubscriptionValidationEvent” を受
け取り、レスポンスを返す。
[注意点]
Web Hooks は HTTPS のみ対応
Web Hooks の検証例
[SubscriptionValidationEvent]
[{
"id": ”[GUID]",
“topic”: “/subscriptions/[Subscription 名]",
"subject": "",
"data": { "validationCode": ”[GUID]" },
"eventType": "Microsoft.EventGrid.SubscriptionValidationEvent",
"eventTime": "2017-08-06T22:09:30.740323Z"}]
[レスポンス]
{
“validationResponse”: “[GUID]”
}
デモ
デモ
Azure Storage Blob x Logic Apps
まとめ
? イベントを通知するのみのリアクティブな
ものを作る時に Event Grid は役に立つ
? Azure のサービスに対応していなくても、
WebHooks を使用すれば使える

More Related Content

Azure Event Grid 事始め

Editor's Notes

  • #8: Event Publisher で何かイベントがあると、 例えば、Blob Storage に画像をアップロードするとかすると、 Event Grid に対して、通知がいき、 Blob Storage の Event を購読 (Subscrbe) している Event Handler に対して、Event Grid が通知を投げます。 通知を受け取ると Event Handler で開発した何かがごにょごにょ動いてくれるというもの。 なので、Function でBlob Storage で画像がアップされたとかの監視がいらない! 無駄なコードを書かなくて済んで幸せいっぱいですね。 通知が来るから取りに行けばおkです。
  • #9: Publisher いわゆる送信元として、対応しているエンドポイントは記載の通り。 中でもよく使われそうなのは、 ?Blob Storage ?Event Hub ?Custom Topics かなーと思っていたりします。 Custom Topics については、後ほど細かい説明をします。 ざっくり説明をすると、 Custom Topics があるということは、Azure のサービスに対応してなくても独自のアプリケーションを使えばなんとでも使っていけます。
  • #10: Subscriber として対応しているのは、この通り。 Function とか、Logic Apps とかで Durable Function とか使っていくと、かなり複雑なことができるイメージです。 で、いつの間にか、Microsoft Flow が対応に含まれていました。 Web Hooks に対応しているので、対応したアプリを作ればなんでもできちゃいます。 お作法があるので、Custom Topics と同様に後ほど細かい説明をします。 で、Publisher とSubscriber は、今年はいろんなの追加されますと言われつつ、三ヶ月くらい立ったけど、まだ MS Flow だけという もっと増えてくれることを期待してます、Microsoftさん。
  • #12: 注意点です。 Event Grid はまだプレビュー中のため、 米国西部 2 リージョン 米国中西部 リージョン しか対応してません。 ちょっと前までは、Azure Blob Storage を使うにも Private Preview の申し込みが必要でした。 (現在は必要なさそう…)