「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
ここでは、C#で、IoTデバイス → Azure Event Hubs → Azure Databricksと繋いでみる。
Event Hubs | Kafka |
名前空間 | クラスター |
イベントハブ | トピック |
Partition | Partition |
コンシューマーグループ | コンシューマーグループ |
Offset | Offset |
az group create --name [ResourceGroupName] --location [Location] 例:az group create --name EventHubsRG --location "Japan East"
az eventhubs namespace create --name [EventHubsNamespace] --resource-group [既存のRG名] -l [Location] 例:az eventhubs namespace create --name osscjpdevinfra --resource-group EventHubsRG -l "Japan East"※ 省略してある--skuの既定値はStandardになっている。
az eventhubs eventhub create --name [EventHubsName] --resource-group [既存のRG名] --namespace-name [EventHubs名前空間] 例:az eventhubs eventhub create --name OsscJpDevInfra --resource-group EventHubsRG --namespace-name osscjpdevinfra
az eventhubs namespace network-rule add --resource-group [ResourceGroupName] --namespace-name [EventHubs名前空間] --ip-address xxx.xxx.xxx.xxx/24 --action Allow 例:az eventhubs namespace network-rule add --resource-group EventHubsRG --namespace-name osscjpdevinfra --ip-address xxx.xxx.xxx.xxx/24 --action
ポータルの「共有アクセス ポリシー」から取得する。
Endpoint=sb://[EventHubsNamespace].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
※ 内部的には、SASトークンを使用する。
Initializing Producer Sending 10 messages to topic: test, broker(s): osscjpdevinfra.servicebus.windows.net:9093 Message 0 sent (value: 'Sample message #0 sent at 2021-07-23_18:19:22.9101') Message 1 sent (value: 'Sample message #1 sent at 2021-07-23_18:19:23.3055') Message 2 sent (value: 'Sample message #2 sent at 2021-07-23_18:19:23.3599') Message 3 sent (value: 'Sample message #3 sent at 2021-07-23_18:19:23.4080') Message 4 sent (value: 'Sample message #4 sent at 2021-07-23_18:19:23.4652') Message 5 sent (value: 'Sample message #5 sent at 2021-07-23_18:19:23.5150') Message 6 sent (value: 'Sample message #6 sent at 2021-07-23_18:19:23.5784') Message 7 sent (value: 'Sample message #7 sent at 2021-07-23_18:19:23.6300') Message 8 sent (value: 'Sample message #8 sent at 2021-07-23_18:19:23.6865') Message 9 sent (value: 'Sample message #9 sent at 2021-07-23_18:19:23.7695') Initializing Consumer Consuming messages from topic: test, broker(s): osscjpdevinfra.servicebus.windows.net:9093 Received: 'Sample message #0 sent at 2021-07-23_18:19:22.9101' Received: 'Sample message #1 sent at 2021-07-23_18:19:23.3055' Received: 'Sample message #2 sent at 2021-07-23_18:19:23.3599' Received: 'Sample message #3 sent at 2021-07-23_18:19:23.4080' Received: 'Sample message #4 sent at 2021-07-23_18:19:23.4652' Received: 'Sample message #5 sent at 2021-07-23_18:19:23.5150' Received: 'Sample message #6 sent at 2021-07-23_18:19:23.5784' Received: 'Sample message #7 sent at 2021-07-23_18:19:23.6300' Received: 'Sample message #8 sent at 2021-07-23_18:19:23.6865' Received: 'Sample message #9 sent at 2021-07-23_18:19:23.7695'
上記の受信処理をAzure Databricks上で実行する。
https://qiita.com/tags/eventhubs
https://github.com/Azure/azure-event-hubs-for-kafka
https://azure-recipe.kc-cloud.jp/category/azure-event-hubs/