Social Engagement から Azure Event Hubs 内のイベントと連携する

Microsoft Social Engagement を使用すると、Microsoft Azure Event Hubs に投稿をストリームし、データを活用して創造性を発揮できます。 Azure Event Hubs が提供するオプションは多数あります。 簡単なデータ形式ときわめて高パフォーマンスなクラウド サービスの利点を活用することで、データ連携の可能性は無限に広がります。 独自のアプリを構築してデータを他のデータ ソースと接続し、ビッグ データ分析を開始できます。

作業をすぐに開始できるように、リアルタイムの Microsoft Power BI ダッシュボードを構築するためのヒントを用意しました。そのダッシュボードで Microsoft Social Engagement から Azure Event Hubs に投稿をストリームします。 Azure Stream Analytics の機能を利用すると、情報を統合して Power BI にプッシュし、データをリアルタイムで分析できます。 Azure Stream Analytics には、さまざまなソースからのデータを組み合わせる機能があります。Azure Event Hubs はデータ ソースの 1 つです。 データを別のイベント ハブ、SQL データベース、または Power BI に送信できます。 Power BI では、接続したデータ ソースに基づく独自のビジネス インテリジェンスを構築できます。 以下のシナリオに示されたすべての接続は、これらのサービスで既定によってサポートされています。 カスタマイズの必要はありません。今すぐ始めましょう。

以下のシナリオの手順を実行するには、Power BI と Azure サブスクリプション (Azure Service Bus、Azure Event Hubs、Azure Stream Analytics を含む) にアクセスできること、および管理者のアクセス許可を持っていることが必要です。 これらのサービスの機能について詳しくは、以下のリンクを参照してください。


Power BI を使用してソーシャル投稿をリアルタイムで分析する

Azure Event Hubs との統合によって Microsoft サービス全体を接続することの利点と柔軟性について詳しく説明します。 この簡単な例では、ソーシャル投稿のデータ セットを Power BI に接続してリアルタイム分析を実行します。 必要なサービスにアクセスでき、適切な特権 (通常は管理者のアクセス許可) があることを確認してください。

ステップ 説明 ステップ
ステップ 1 データのストリーム先となるイベント ハブを作成します。

連携するイベント ハブが既にある場合は、このステップを省略できます。
ステップ 1: イベント ハブの作成
ステップ 2 Microsoft Social Engagement と Azure Event Hubs の間に接続を確立します。 ステップ 2: Social Engagement とイベント ハブの接続
ステップ 3 イベントとして Azure Event Hubs にストリームされるデータ セットを定義します。 ステップ 3: イベント ハブにストリームされる投稿を選択するオートメーション ルールの作成
ステップ 4 Azure Stream Analytics ジョブを作成し、データをさらに処理するためのクエリを記述します。 ステップ 4: Azure Stream Analytics ジョブの作成
ステップ 5 データを Power BI ダッシュボードに送信します。 ステップ 5: Power BI でのダッシュボードの作成


ステップ 1: イベント ハブの作成

  1. Service Bus に新しい名前空間を作成します。 [種類] として [メッセージング] を選択し、目的に合わせて他の値を選びます。 既存の Service Bus 名前空間を使用することもできます。

  2. 名前空間に新しいイベント ハブを作成します。

  3. 接続文字列を取得するには、Azure Portal のイベント ハブ ビューで [接続情報] をクリックします。 新規セットアップの場合は、Shared Access Signature (SAS) ポリシーを最初に構成する必要があります。

    1. [共有アクセス ポリシー] で新しい SAS ポリシーを作成します。 ポリシーの名前を指定し、Send 権限を持つ SendRule という名前のルールを追加して、[保存] をクリックします。

    2. SendRule[接続文字列] をコピーします。この名前は次のステップでもう一度必要になります。

    Social Engagement での Azure イベント ハブ接続へのアクセス


ステップ 2: Social Engagement とイベント ハブの接続

イベント ハブでデータを受信する準備ができました。次に、Social Engagement をイベント ハブに接続する必要があります。Azure Portal でイベント ハブに対して提供される接続文字列を使用します。 詳細: Social Engagement から Microsoft Azure Event Hubs へのデータのストリーム

Social Engagement と Azure Event Hubs の接続


ステップ 3: イベント ハブにストリームされる投稿を選択するオートメーション ルールの作成

Social Engagement で、イベント ハブにイベントをストリームするオートメーション ルールを作成します。 求めている投稿を取得するために、要件に従ってフィルターが定義されていることを確認してください。 詳細: オートメーション ルールを使用した投稿のルーティングフィルターを使用した関連データの取得

  1. Social Engagement で、[設定] > [オートメーション ルール] に移動し、イベントをイベント ハブにストリームするオートメーション ルールを作成します。

  2. Azure Portal で、イベント ハブのダッシュボードをチェックし、Social Engagement からのイベントが表示されていることを確認します。 選択したデータ セットによっては、新しい投稿がソーシャル メディアで公開されてイベント ハブにプッシュされるまで、しばらくかかることがあります。

    接続されたイベント ハブに表示された Social Engagement のイベント


ステップ 4: Azure Stream Analytics ジョブの作成

次に進みましょう。イベント ハブと Azure Stream Analytics を接続します。

  1. Azure Portal で、新しい Azure Stream Analytics ジョブを作成します。

  2. ジョブの名前を指定し、リージョンと地域の監視ストレージ アカウントを選びます。

  3. Stream Analytics ジョブの詳細に移動し、[入力] のソースを [データ ストリーム] > [イベント ハブ] として定義します。 入力のエイリアスを指定し、ステップ 1 で作成した名前空間を選びます。

    イベント ハブ ポリシー名として [RootManagedSharedAccessKey] を選択します。 入力エイリアスを書き留めておいてください。後で必要になります。

  4. [シリアル化] の設定は [JSON][UTF8] のままにします。

  5. Stream Analytics の出力シンクを追加します。 このシナリオでは Power BI を選択します。 出力のエイリアスを指定し、書き留めておいてください。後で必要になります。 Power BI を選択した場合、アカウントを認証するか、新しいサブスクリプションを作成する必要があります。

    ヒント

    Office 365 ポータルにサインインし、最初に Power BI を開いて Power BI との新しいセッションを確立します。その後、Power BI を出力シンクとして選びます。

  6. 次は少し手の込んだステップです。Stream Analytics ジョブに対して、どのようなデータを検索し、Power BI に何を渡すかを指定する必要があります。 これは SQL ステートメントを使用して行います。SQL ステートメントで、特定の条件 (選択子) に一致するイベントを選択します。 取得されたデータが接続先のサービス (この例では Power BI) にプッシュされ、Stream Analytics で生成されたイベントが格納されます。 以下に示す例を参照するか独自の Stream Analytics SQL ステートメントを作成して、イベント ハブ上のデータを照会し、出力シンクにプッシュするデータ セットを集約します。 詳細: MSDN: Stream Analytics クエリ言語リファレンス

    ヒント

    Windows デベロッパー センターには、Service Bus Explorer (Azure Service Bus コンポーネントを管理するためのツール) がホストされています。 詳細: Service Bus Explorer のダウンロード

    Service Bus Explorer を Azure Service Bus 名前空間に接続します。

    Azure Portal で、[Service Bus] > "名前空間" > [接続情報] に移動します。 名前空間に接続するために RootManagedSharedAccessKey の SAS キーから接続文字列をコピーします。

    Service Bus Explorer で、Social Engagement に接続したイベント ハブを展開します。 $Default コンシューマー グループを右クリックし、[Create Consumer Group Listener (コンシューマー グループ リスナーの作成)] をクリックします。 リスナーを開始し、[イベント] タブの [イベント テキスト] フィールドで JSON ペイロードを確認します。

    詳細: Social Engagement からイベントに対する JSON 参照

    1. 例 1: この簡単な "Hello World" の例では、ある期間のすべての新しい投稿の件数を数え、それらの投稿を 30 秒おきに出力シンクにプッシュします。

      SELECT  
          count (*) AS count,  
          System.TimeStamp AS Time  
      INTO  
          [your-output-sink-alias]  
      FROM  
          [your-stream-input-alias]  
      GROUP BY  
      TumblingWindow(second,30)  
      
    2. 例 2: この例では、一意の公開元と、各公開元の国/地域の情報を選択します。 結果は 30 秒おきに出力シンクにプッシュされます。

      WITH current_window AS  
      (  
          SELECT  
              post.profile.profileLocation.adminDistrict,  
              post.profile.profileLocation.countryRegion,  
              count (*) AS count  
          FROM  
              [your-stream-input-alias]  
          GROUP BY  
              post.profile.profileLocation.adminDistrict,  
              post.profile.profileLocation.countryRegion,  
              TumblingWindow (second,30)  
      )  
      SELECT  
          *,  
          System.Timestamp AS Time  
      INTO  
          [your-output-sink-alias]  
      FROM   
          current_window  
      


ステップ 5: Power BI でのダッシュボードの作成

最後に、作成した項目を確認しましょう。 この例の目標は Power BI でリアルタイム ダッシュボードを作成することであるため、Stream Analytics からデータを受信していることを確認する必要があります。 出力シンクを定義したときに、Power BI を Stream Analytics ジョブに対して認証しました。 Power BI にはデータ セットが既に作成されています。 Power BI に移動し、ステップ 4.5 で定義したデータ セットを選択します。 データ セットの名前は、Stream Analytics 出力シンクの名前に一致します。

Power BI で、新しいビジュアル化を作成します。

  1. 例 1 のステップ 4 では、折れ線グラフです。

    値: count

    軸: time

    Microsoft Power BI の折れ線グラフ

  2. 例 2 の場合は、ステップ 4 で、データをビジュアル化する地図を選択できます。

    場所: countryregion または admindisctrict

    値: count

    Social Engagement のデータを他のアプリケーションまたはインターネットのデータと統合するには、ほぼ無制限のオプションがあります。 次の図は、天気のデータと、Social Engagement の機械学習ベースのインテンション分析から得たさまざまな種類のインテンションを関連付ける Power BI ダッシュボードを示しています。

    Power BI ダッシュボードと Social Engagement のインテンション


プライバシーに関する声明

Social Engagement から Azure Event Hubs への接続を有効にすると、オートメーション ルールを使用したイベント ハブへのソーシャル データのストリームを許可したことになります。 Social Engagement からストリームされたソーシャル データは、事前に構成された期間 Azure Event Hubs に保存され、イベント ハブをリスニングできる任意のアプリケーションでアクセス、保存、処理することができます。
Social Engagement から送信されるソーシャル データには、ソーシャルの投稿に関する情報 (作成者と本文) や、言語、場所、センチメント、タグなどの拡充された情報が含まれることにご注意ください。Event Hubs に送信されるソーシャルの投稿の詳細については、JSON のスキーマ定義を参照してください。

関連項目

Social Engagement から Microsoft Azure Event Hubs へのデータのストリーム
Social Engagement からイベントに対する JSON 参照
Social Engagement での接続の管理
Microsoft Social Engagement の管理