複数物理テーブルサービスユニットは、複数の物理テーブルを関連付け、結果として得られる結合フィールドのメタデータを設定できます。このサービスユニットに基づいて API を開発することで、複数の物理テーブルにまたがるデータにアクセスし、結合データクエリを実現できます。このトピックでは、複数物理テーブルサービスユニットの作成方法について説明します。
前提条件
サービスユニットグループを作成済みであること。詳細については、「サービスプロジェクトグループの作成」をご参照ください。
データソースタイプが HBase 0.9.4/1.1.x/1.2.1/2.x、Elasticsearch、または MongoDB の場合は、メタデータを作成する必要があります。詳細については、「メタデータの作成」をご参照ください。
制限事項
単一のデータソースから複数の物理テーブルのメタデータを設定できます。サポートされているデータソースのリストについては、「Data Service でサポートされているデータソース」をご参照ください。
一部のデータソースは行レベルの権限をサポートしています。サポートされている
data sourcesのリストについては、「Data Service でサポートされているデータソース」をご参照ください。
権限
プロジェクト管理者および開発者はサービスユニットを作成できます。
注意事項
この複数物理テーブルサービスユニットに基づく API は、プライマリ物理テーブルのフィールドが非プライマリ物理テーブルのフィールドと同じ値とデータの型を持つ場合にのみ、結合データクエリを実行できます。そうでない場合、結合データクエリは失敗します。
ステップ 1: サービスユニットタイプの選択
Dataphin ホームページの上部のナビゲーションバーで、[サービス] > [API 開発] を選択します。
左上の隅でプロジェクトを選択します。左側のナビゲーションウィンドウで、[サービスユニット] をクリックします。[サービスユニット] ページで、[+ 新規サービスユニット] をクリックします。
[新規サービスユニット] ダイアログボックスで、[複数物理テーブルサービスユニット] を選択します。
ステップ 2: パラメーターの設定
[新規サービスユニット] ページで、サービスユニットの基本情報とパラメーターを設定します。
サービスユニットの基本情報を設定します。
パラメーター
説明
サービスユニット名
サービスユニットの名前を入力します。名前は次の要件を満たす必要があります:
文字、数字、アンダースコア (_) のみを含む。
文字で始まる。
長さは 4~64 文字。
サービスユニットグループ
既存の
service unit groupを選択します。モード
モードは、サービスユニットが開発データソースからデータを読み取るか、本番データソースからデータを読み取るかを定義するために使用されます。利用可能なモードは [ベーシック] と [Dev-Prod] です:
- [ベーシック]:このモードでは、サービスユニットは本番環境のデータソースからのみデータを読み取ることができます。
- Dev-Prod: このモードでは、サービスユニットは開発環境のデータソースまたは本番環境のデータソースのいずれかからデータを読み取ることができます。
データソースが存在する環境は、データソースページで確認できます。
[サービスユニットの説明]
サービスユニットの簡単な説明を入力します。説明は最大 128 文字です。
[返されるエントリの最大数]
API クエリが返すことができるエントリの最大数です。これにより、過度に大きなクエリによるメモリ不足エラーを防ぎます。デフォルトでは、最大値は 1,000 です。この制限は最大 10,000 まで設定できます。
より多くのデータをクエリする必要がある場合は、API を呼び出す際に SDK の PageSize パラメーターを変更できます。
[物理テーブルの追加]
[物理テーブルの追加] をクリックします。[物理テーブルの追加] ダイアログボックスで、データソースからデータテーブルを選択し、
physical tablesとして追加します。サポートされているデータソースのリストについては、「Data Service でサポートされているデータソース」をご参照ください。
デフォルトでは、Dataphin は最初に追加した物理テーブルをプライマリ物理テーブルとして設定します。別の物理テーブルをプライマリテーブルとして指定することもできます。
複数の物理テーブル間の結合ロジックは左結合です。プライマリ物理テーブルは左側テーブルとして機能し、他のテーブルは右テーブルとして機能します。次に、左側テーブルからフィールドを選択して、物理テーブル間の関連付けフィールドとして使用する必要があります。このフィールドは、API 呼び出し時に入力パラメーターとして使用されます。このフィールドが SQL ステートメントにない場合、API 呼び出しは失敗します。
入力した基本情報が既存のサービスユニットと一致する場合、Dataphin はその名前を表示します。このサービスユニットの詳細は、サービスユニットリストで表示できます。新しいサービスユニットの作成を続行するには、[作成を続行] をクリックして [サービスユニットフィールドの設定] ページに移動します。
サービスユニットフィールドを設定します。
パラメーター
説明
サービスユニット関連付けフィールドの設定
サービスユニット フィールド
サービスユニットフィールドのカスタム名。名前は次の要件を満たす必要があります:
文字、数字、アンダースコア (_) のみを含む。
文字で始まる。
長さは 4~64 文字。
[プライマリテーブル名.関連付けフィールド (プライマリキー)]
プライマリ物理テーブルから、関連付けフィールドとして使用するフィールドを選択します。このフィールドの値は、非プライマリ物理テーブルの対応するフィールドの値と一致する必要があります。この関連付けフィールドは、API 呼び出し時に必須の入力パラメーターです。SQL ステートメントにない場合、API 呼び出しは失敗します。
[サービスユニット関連付けフィールドタイプ]
プライマリ物理テーブルの関連付けフィールドのデータの型を選択します。
[サービスユニットフィールドの説明]
サービスユニット関連付けフィールドの簡単な説明を入力します。
サービスユニットフィールドの設定
サービスユニットフィールドタイプ
利用可能なフィールドタイプには、Double、Float、String、Date、Boolean、Int、Long、Short、Byte、BigDecimal、Binary があります。ビジネスデータに一致するデータの型を選択してください。
ビジネスデータにこのリストにないフィールドタイプがある場合は、String を選択することを推奨します。
サービス ユニット フィールド
ビジネスデータフィールドから
service unitのフィールドへのマッピングを設定します。ビジネスニーズに基づいてフィールド名をカスタマイズできます。名前は次の要件を満たす必要があります:文字、数字、アンダースコア (_) のみを含む。
文字で始まる。
長さは 4~64 文字。
[サービスユニットフィールドの説明]
サービスユニットフィールドの簡単な説明を入力します。
サービスユニットフィールドを設定した後、ページ下部の [データプレビュー] をクリックして、対応するビジネスデータを表示します。最大 1,000 件のエントリが返されます。
選択された物理テーブルに基づいて、システムは関連する行レベルの権限情報 (行レベルの権限名、説明、コントロールフィールド、データソース環境、関連付けられたテーブル、関連付けフィールドなど) を自動的に解析します。次の操作も実行できます:
[有効化] または [無効化] 行レベルの権限:行レベルの権限がアクティブであるかどうか、およびサービスユニットを表示するときに行レベルの権限リストが表示されるかどうかを制御します。
[行レベルの権限の作成]:行レベルの権限を作成する権限が必要です。このオプションをクリックすると、[管理センター] > [権限管理] の
row-level permission作成ページに移動し、新しい行レベルの権限を作成できます。説明行レベルの権限は有料の付加価値機能です。
API によって返されるデータは、適用される行レベルの権限によって異なります。
モードが [ベーシック] に設定されている場合、システムは本番環境の物理テーブルの行レベルの権限を表示します。モードが Dev-Prod に設定されている場合、システムは開発環境と本番環境の両方の物理テーブルの行レベルの権限を表示します。
行レベルの権限が有効になっている公開済みのサービスユニットから作成された API は、呼び出されるときにその権限の対象となります。
[管理センター] > [権限管理] で関連する行レベルの権限を作成または削除した場合、その変更は関連する API に自動的に反映されます。再公開する必要はありません。
追加されたすべての物理テーブルは、そのフィールドが API で使用されているか、サービスユニット用に選択されているかに関係なく、関連する行レベルの権限の対象となります。
複数の物理テーブルにまたがる異なるフィールドが同じ行レベルの権限に関連付けられている場合、その権限はそれらすべてのフィールドに適用されます。
[送信] をクリックして、複数物理テーブルサービスユニットを作成します。
次のステップ
「サービスユニット」ページで、作成したサービスユニットを見つけ、[操作] 列の
アイコンをクリックし、[公開] を選択します。これにより、サービスユニットが本番環境に送信されます。その後、このサービスユニットに基づいて API を作成できます。詳細については、「API の作成」をご参照ください。サービスユニットを作成した後、[サービスユニット] ページで編集、公開、または削除できます。詳細については、「サービスユニットの管理」をご参照ください。