# Microsoft Azure Event Grid ストリーミングインポート連携

Azure Event Gridは、多数の異なるAzureサービスやアプリケーション間でイベントを簡単に管理できる、完全マネージド型のイベントサービスです。イベント駆動型アプリケーション向けのパフォーマンスとスケールを実現します。
この連携を設定することで、Azure Event Gridトピックに公開されたあらゆるイベントをほぼリアルタイムでストリーミングし、さらなる意思決定のためにTD CDPで利用できます。

## 前提条件

- Treasure Dataの基本的な知識。
- Azure Event Gridの基本的な知識。
- [Treasure API Write-only Key](https://docs.treasuredata.com/smart/project-product-documentation/getting-your-api-keys)


## 制限事項

- カスタムイベントを正しく処理するには、*"data": {}*を含める必要があります。
- SIDは、ASCII文字、数字、特殊記号の組み合わせで、最小10文字以上である必要があります。
- コネクタタイプごとにアカウントあたり2つのソース作成に制限があります。
- 重複イベントは許可されています。
- データベースとテーブルは事前に作成する必要があります（ユーザーがマスターアカウントを持っている場合を除く）。
- [Azure Event Grid delivery and retry - Azure Event Grid](https://docs.microsoft.com/en-us/azure/event-grid/delivery-and-retry)にあるすべての制限と制約が適用されます。
- Plazmaでデータが利用可能になるまでの予想ターゲットレイテンシは5～10分です。
- TDユーザーは、Azure Event Grid Streaming接続を作成するためにWrite-only API keyを使用する必要があります。
- 新しく作成されたソースがデータのストリーミングを開始するまで数秒の遅延があります。


## Treasure コンソールを使用した接続の作成

### 新しい接続を作成する

Treasure Dataでは、クエリを実行する前にデータ接続を作成して設定する必要があります。データ接続の一部として、統合にアクセスするための認証を提供します。

1. **Treasure コンソール**を開きます。
2. **Integrations Hub** >  **Catalog**に移動します。
3. Azure Event Grid Data Streamingを検索して選択します。
4. **Create Authentication**を選択します。


![](/assets/azureevengrid.8bbbbdb8e6714f3a183e889017f1e88e6e7688c13803a9f654b5677430aea82c.2f330e64.png)

次のダイアログが開きます。

![](/assets/screen-shot-2021-09-24-at-1.14.30-pm.674676223b7ab77bd93dcc8a8362760817b7f45f54585767d8b0dfb874bd7a87.2f330e64.png)

以下のパラメータを編集します：

| Parameters |  | Description |
|  --- | --- | --- |
| Security Identifiers (SIDs) | Required | SIDは、ユーザーがAzure Event Grid webhookの設定と認証モデルの作成の両方で設定する、ローテーション可能なアクセストークンです。ASCII文字、数字、特殊記号の組み合わせで、最小10文字以上である必要があります。カンマ区切りのトークンリストを入力してください。 |
| Treasure API Key | Required | データベースにアクセスするためのTD write-only API Key。 [Getting Your API Keys](https://docs.treasuredata.com/smart/project-product-documentation/getting-your-api-keys)を参照してください。 |


Security Identifiers(SIDs)はマスクされます。今後のローテーションのために、SIDをパスワードマネージャーに安全に保管することをお勧めします。

1. **Continue**を選択します。
2. 接続の名前を入力します。
3. **Done**を選択します。


### Treasure Dataへのデータ転送

認証接続のステップ後、自動的に認証リストページに移動します。

1. 作成した接続を検索します**。**
2. **New Source**を選択します。
3. **Create Source**モデルでConnectionダイアログが開きます。
4. Data Transfer Nameフィールドに**Source**の名前を入力します**。**
5. **Next**をクリックします。Data Settingsダイアログが開きます。
6. 以下のパラメータを編集します：


| Parameters | Required | Description |
|  --- | --- | --- |
| Datastore | Required | Plazmaが利用可能なオプションです。 |
| Tags | Optional | このソースを見つけるためにタグを使用できます。 |
| Database | Required | データをインポートするTreasure Data内のデータベースを指定します。 |
| Table | Required | データを配置するデータベース内のテーブルを指定します。 |


1. **Create**を選択します。


### Source Idをコピーする

Source ID（UUID v4）は、ソース作成時に発行されます。

悪用を防ぐため、**Source Id**は権限のない者に開示しないでください。

1. ソースを作成すると、自動的にソースリストページに移動します。


作成したソースを検索します。

同じ行の「...」をクリックし、**Copy Unique ID**をクリックします。このUnique IDは、Azure Event Gridにエンドポイントを登録する際に必要なSource IDです。

![](/assets/screen-shot-2021-09-27-at-7.24.05-am.c3e75fd8f085ee8c5984e5e6914fffbb891ad7883a3854184af269e821f4099a.2f330e64.png)

### Azure Event Gridでのエンドポイント登録

1. Azure Event Gridストリーミングコネクタでイベントを処理するには、有効なSource IDでAzure Event Gridにエンドポイントを登録する必要があります。Azure Event Gridで、Event Grid Topicの**Create Event Subscription**を行います。
2. **ENDPOINT DETAILS**にAzure Event Gridエンドポイントを入力します。米国のAzure Event Grid取り込みエンドポイントは次のとおりです：https://aeg-in-streaming.treasuredata.com/v1/task/{source id} 他の地域のホスト名は異なりますが、同じパターンに従います。たとえば、日本の場合は次を使用します：https://aeg-in-streaming.treasuredata.co.jp/v1/task/{source id}
3. Security Identifiers (SIDs)を静的なAuthorizationヘッダーとして指定します。認証作成時に指定したSecurity Identifiers (SIDs)のリストからSIDを登録して、ローテーションを有効にします。**Delivery Properties**タブの**PROPERTIES SENT ON EVENT DELIVERY**セクションで、SIDを*Authorization: BEARER $SID*ヘッダーとして指定します。完全な手順については、Azure Event Gridのクイックスタートガイドを参照してください [Quickstart Portal](https://docs.microsoft.com/en-us/azure/event-grid/custom-event-quickstart-portal)。
4. お客様は、オプションでEvent Grid Subscriptionのイベントフィルタリングを指定できます。フィルタリングには3つのオプションがあります：


- Event types
- Subject begins with or ends with
- Advanced fields and operators
![](/assets/screen-shot-2021-10-02-at-3.47.49-pm.931bdd4b00c4325fd493a3e3d489ee663503aed280ea58f7f7be419d5ccbe471.2f330e64.png)
完全な手順については、Azure Event Gridドキュメントを参照してください [Event Filtering](https://docs.microsoft.com/en-us/azure/event-grid/event-filtering)。


## データ取り込み

コネクタは、ストリーミングデータソースの作成が成功した後、最初のイベントがトリガーされるとすぐに、TDでのイベントデータ取り込みを開始できます。