前回に引き続き、Azure IoTサービスの1つ「Event Hubs」についてご紹介します。
今回は作成したEvent HubsにAzureの「Visual Studio Online」からサンプルメッセージの送信を行います。
Visual Studioの設定
AzureのVisual Studio Onlineを起動するにあたってアカウントを作成します。
今回は簡易作成を利用し、既存のディレクトリとは紐付けずに使います。
Visual Studioのプロジェクト名とプロセスの形式を設定しますが、今回はサンプルメッセージの動作だけなので好きな形式で構いません。
プロジェクトが作成されたら、早速Visual Studioを開きます。
「新しいプロジェクト…」を開きます。
今回のサンプルメッセージはC#で動作させますので、「Visual C#」→「Windows デスクトップ」→「コンソールアプリケーション」の順に選択し、ソリューション名を入力します。
名前を入力したらVisual Studio画面右からソリューションエクスプローラーのタブを開きます。
「ソリューション’ソリューション名’」を右クリックし、「ソリューションのNuGetパッケージの管理」をクリックします。
「Microsoft Azure Service Bus」のパッケージをインストールします。
これでVisual Studioの設定は完了です。
サンプルメッセージプログラムの作成と送信
作成したソリューションの「Program.cs」を開きます。
下記の様に記述します。黒字がデフォルト部分、赤字が追加記述部分となります。
※「eventHubName」「connectionString」はそれぞれEvent Hub名と接続文字列を入力します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using Microsoft.ServiceBus.Messaging; namespace Sender { class Program { static string eventHubName = "recipetest"; static string connectionString = "Endpoint=sb://recipetest-ns.servicebus.windows.net/;SharedAccessKeyName=recipetest;SharedAccessKey=q7wE+o7pvWwZRI2hmfK8Za968j8qJ4J2e0TspwMC53w="; static void SendingRandomMessages() { var eventHubClient = EventHubClient.CreateFromConnectionString(connectionString, eventHubName); while (true) { try { var message = Guid.NewGuid().ToString(); Console.WriteLine("{0} > Sending message: {1}", DateTime.Now, message); eventHubClient.Send(new EventData(Encoding.UTF8.GetBytes(message))); } catch (Exception exception) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("{0} > Exception: {1}", DateTime.Now, exception.Message); Console.ResetColor(); } Thread.Sleep(200); } } static void Main(string[] args) { Console.WriteLine("Press Ctrl-C to stop the sender process"); Console.WriteLine("Press Enter to start now"); Console.ReadLine(); SendingRandomMessages(); } } } |
記述したら、ツールバーから「開始」アイコンをクリックします。
下図の画面が出てきたらEnterキーを押します。
下図のように出力されれば成功です。
以上でEvent Hubsへのメッセージ送信ができました。
次回はEvent Hubsに送ったメッセージをストレージアカウントに受信してみます。
お楽しみに!