# Oracle Opera via HAPI ストリーミングインポートインテグレーション

ホテルの顧客データは、HAPI OPERA Exchange Interface (OXI) を使用した Oracle OPERA を搭載したプロパティ管理システムから簡単に取り込むことができます。このストリーミングインポートインテグレーションは、ホテルが独自のオンプレミスサーバーをホストする必要がなく、HAPI を使用します。

HAPI は、Treasure Data にインポートされるイベントデータの抽出、クリーニング、正規化のプロセスを改善するデータインテグレーションプラットフォームです。

## 前提条件

- Treasure Data の基本的な知識
- HAPI の基本的な知識
- [Treasure API 書き込み専用キー](https://docs.treasuredata.com/smart/project-product-documentation/getting-your-API-keys)


## 要件と制限事項

- 各リクエストの Content-Length は 998 KB 以下である必要があります。
- コネクタータイプごとに、アカウントあたり 2 つのソース作成の制限があります。
- 重複イベントは許可されます。
- 新しいソースを作成する前に、データベースを作成する必要があります。
- 新しいソースを作成する前に、少なくとも 1 つのテーブルを作成する必要があります。エンドポイントで使用する前に、必要な追加テーブルを使用する必要があります。
- データが Plazma で利用可能になるまでの予想されるターゲットレイテンシは、5 分から 10 分です。
- TD ユーザーは、HAPI ストリーミングコネクターを作成するために書き込み専用 API キーを使用する必要があります。
- 新しく作成されたソースがデータのストリーミングを開始するまで、数秒の遅延があります。


## Treasure コンソールから HAPI 経由でインポート

### 認証の作成

最初のステップは、認証情報のセットを使用して新しい認証を作成することです。

1. **Integrations Hub** を選択します。
2. **Catalog** を選択します。


![](/assets/image2021-9-30_14-38-2.ca92fa4ab9277dca95973c6bd413fc662a3f0d04b57d58f7a8c952a29f28bbec.54fd090d.png)

1. Catalog でインテグレーションを検索し、アイコンの上にマウスを置いて **Create Authentication** を選択します。


![](/assets/image2022-3-10_17-19-33.9468576127be835d815cdca0d6506bc0e159ab799a1136b3e5024c7c35a3bcda.54fd090d.png)

![](/assets/image2021-9-30_14-42-0.d6a5ad453f9fa98b4336af9506dadbd04ea44299e2f9af7fd760f75ac68e3f88.54fd090d.png)

1. New Authentication モーダルが開きます。


![](/assets/image2022-3-10_17-20-54.b16368cc0211c89b548f916832af92b48d9fdd13b94b4ac73791721a15a03898.54fd090d.png)

1. **Credentials** タブが選択されていることを確認し、インテグレーションの認証情報を入力します。


#### **New Authentication フィールド**

| フィールド | 説明 |
|  --- | --- |
| **API ID** (必須) | この接続の API ID |
| **Treasure API Key** (必須) | データベースへのアクセスのための TD 書き込み専用 API キー。[Getting Your API Keys](https://docs.treasuredata.com/smart/project-product-documentation/getting-your-API-keys) を参照してください。 |


1. **Continue** を選択します。
2. 認証の名前を入力し、**Done** を選択します。


### データを Treasure Data に転送

1. Treasure コンソール を開きます。
2. **Integrations Hub** > **Authentications** に移動します。
3. 新しい認証を見つけて、**New Source** を選択します。


### 接続

ソースの以下のテーブルに記入します。

| パラメータ | 説明 |
|  --- | --- |
| Data Transfer Name | 転送の名前を定義できます。 |
| Authentication | 転送に使用される認証名。 |


1. Data Transfer Name フィールドにソース名を入力します。
2. **Next** を選択します。


### データ設定の定義

1. Create Source ページが表示され、**Data Settings** タブが選択されています。
2. 以下のパラメータを編集します。


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


1. **Create** を選択します。
2. HAPI の各エンドポイントに必要なテーブルを作成します。例:


- reservation
- inventory
- profile
- block
- room_stay
- rate
- guest


### ソース ID のコピー

ソース ID (UUID v4) は、ソースが作成されたときに発行されます。誤用を防ぐために、**ソース ID** は権限のない人に開示しないでください。HAPI にエンドポイントを登録するには、ソース ID が必要です。

1. ソースを作成すると、自動的に Sources リストページに移動します。
2. 作成したソースを検索します。
3. 同じ行の "..." をクリックし、**Copy Unique ID をクリック**します。この Unique ID が、HAPI にエンドポイントを登録する際に必要なソース ID です。
![](/assets/image2022-3-11_16-1-51.f475c5042013dab22182c09c5615139d17665c985d2cf395681b2367680b0343.54fd090d.png)


### HAPI にエンドポイントを登録

エンドポイント登録を完了するには、**Treasure API キー**（[Getting Your API Keys](https://docs.treasuredata.com/smart/project-product-documentation/getting-your-API-keys) を参照）と**ソース ID**（ソース ID のコピーセクションを参照）が必要です。次の設定例を使用して、2 つのシークレットを転送するための HAPI との安全なチャネルが必要です。

- Treasure API Key とソース ID を、それぞれ**Treasure API キー**と**ソース ID** に置き換えてください。
- reservation、inventory、profile、block、room_stay、rate、guest は、データ設定の定義で作成された例のテーブルです。
- App id: HAPI
- API key: Treasure API Key
- Auth endpoint: https://hapi-in-streaming-development.treasuredata.com/v1/authenticate
- Message Type endpoints:
- RESERVATION: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/reservation
- INVENTORY: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/inventory
- PROFILE: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/profile
- BLOCK: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/block
- ROOM_STAY: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/room_stay
- RATE: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/rate
- GUEST: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/guest


# データ取り込み

TD へのイベントデータの取り込みは、ストリーミングデータソースが作成された後、最初のイベントがトリガーされたときに開始されます。