複数の物理テーブルからのサービスユニットは、複数の物理テーブルを関連付け、関連付けられたフィールドのメタデータを構成します。 このサービスユニットに基づいて API を開発し、複数の物理テーブルのデータに同時にアクセスして、ユニオンデータクエリを有効にすることができます。 このトピックでは、複数の物理テーブルからサービスユニットを作成する方法について説明します。
前提条件
サービスユニットグループが作成されていること。 詳細については、「サービスプロジェクトグループを作成する」をご参照ください。
データソースの種類が HBase 0.9.4/1.1.x/1.2.1/2.x、ElasticSearch、または MongoDB の場合は、メタデータの作成が必要です。 詳細については、「メタデータを作成する」をご参照ください。
行レベルの権限機能を購入する必要があります。
制限事項
複数の物理テーブルのメタデータ構成は、データソースを通じて実行できます。 サポートされているデータソースについては、「DataService Studio でサポートされているデータソース」をご参照ください。
一部のデータソースは行レベルの権限をサポートしています。 サポートされているデータソースについては、「DataService Studio でサポートされているデータソース」をご参照ください。
権限ポリシー
プロジェクト管理者と開発者ユーザーの両方がサービスユニットを作成できます。
注意事項
このサービスユニットに基づいて作成された API は、プライマリ物理テーブルと非プライマリ物理テーブルのフィールド値とフィールドタイプが同じ場合にのみ、ユニオンデータクエリを実現できます。 それ以外の場合、ユニオンデータクエリは実現できません。
ステップ 1:サービスユニットタイプを選択する
Dataphin ホームページの上部にあるメニューバーで、[サービス] > [API 開発] を選択します。
左上隅でプロジェクトを選択し、左側のナビゲーションウィンドウの [サービスユニット] をクリックし、[サービスユニット] ページで [+ サービスユニットを作成] をクリックします。
[サービスユニットを作成] ダイアログボックスで、[複数物理テーブルサービスユニット] を選択します。
ステップ 2:複数物理テーブルのサービスユニットのパラメーターを構成する
[サービスユニットを作成] ページで、サービスユニットの基本情報とパラメーター情報を構成します。
サービスユニットの基本情報の構成
パラメーター
説明
[サービスユニット名]
サービスユニットの名前。 名前は次の要件を満たしている必要があります。
文字、数字、およびアンダースコア (_) のみを含めることができます。
文字で始まります。
長さは 4 ~ 64 文字です。
[サービスユニットグループ]
作成されたサービスユニットグループを選択します。
[モード]
モードは、サービスユニットが読み取るデータが開発データソースまたは本番データソースのどちらから来るかを定義するために使用されます。 モードには、[基本] モードと [開発 - 本番] モードがあります。
- [基本]:このモードでは、サービスユニットは本番環境のデータソースからのみデータを読み取ることができます。
- [開発 - 本番]:このモードでは、サービスユニットは開発環境または本番環境のデータソースからデータを読み取ることができます。
データソースが存在する環境は、[データソース] ページで確認できます。
[サービスユニットの説明]
サービスユニットの簡単な説明を入力します。 128 文字以内。
[最大返却数]
Dataphin のデフォルトの最大返却数は 1000 で、最大制限は 10000 です。
これは、API を介してデータをクエリする際に返されるレコード数を定義するために使用され、一度に大量のデータがクエリされることによって Dataphin システムでメモリ オーバーフローが発生するのを防ぎます。 より多くのデータをクエリする必要がある場合は、「API を呼び出す」の SDK で PageSize パラメーター値を変更して、API をクエリする際にさらに多くのデータを返すことができます。
[物理テーブルを追加]
[物理テーブルを追加] をクリックし、[新しい物理テーブルを追加] ダイアログボックスで、データソースに基づいてデータテーブルを選択し、データを読み取る必要のある複数の物理テーブルを追加します。 サポートされているデータソースについては、「DataService Studio でサポートされているデータソース」をご参照ください。
Dataphin はデフォルトで最初に追加された物理テーブルをプライマリテーブルとして設定しますが、別の物理テーブルをプライマリテーブルとして選択することもできます。
複数の物理テーブル間の計算ロジックは JOIN です。 プライマリテーブルは左結合計算の左側のテーブルであり、他のテーブルは右側のテーブルです。 その後、左側のテーブルからフィールドを選択して、複数の物理テーブルの外部キーフィールドとする必要があります。 このフィールドは、API を呼び出すときのパラメーターとして使用されます。 SQL 文にこのフィールドが含まれていない場合、API 呼び出しは失敗します。
既存のサービスユニットが構成した基本情報と類似している場合、Dataphin は類似のサービスユニットの名前を自動的に表示します。 サービスユニットの詳細情報は、サービスユニットリストで確認できます。 新しいサービスユニットの作成を続行する必要がある場合は、[作成を続行] をクリックして、[サービスユニットフィールドを構成] ページに進みます。
サービスユニットフィールドを構成します。
パラメーター
説明
サービスユニットの外部キーフィールドを構成する
[サービスユニットフィールド]
サービスユニットフィールド名をカスタマイズできます。 名前は次の要件を満たしている必要があります。
文字、数字、およびアンダースコア (_) のみを含めることができます。
文字で始まります。
長さは 4 ~ 64 文字です。
[プライマリテーブル名.外部キーフィールド (プライマリキー)]
関連付けられた非プライマリテーブルと同じフィールド値を持つプライマリテーブルからフィールドを選択します。 この外部キーフィールドは、API を呼び出すときのパラメーターとして使用されます。 SQL 文にこの外部キーフィールドが含まれていない場合、API 呼び出しは失敗します。
[サービスユニットの外部キーフィールドタイプ]
関連付けられたプライマリテーブルのフィールドタイプを選択します。
[サービスユニットフィールドの説明]
サービスユニットの外部キーフィールドの簡単な説明を入力します。
サービスユニットフィールドを構成する
[サービスユニットフィールドタイプ]
サポートされているフィールドタイプは、Double、Float、String、Date、Boolean、Int、Long、Short、Byte、BigDecimal、Binary です。 ビジネスデータの実際のフィールドタイプに基づいて、対応する外部キーフィールドタイプを選択する必要があります。
ビジネスデータのフィールドタイプが上記のフィールドタイプの範囲内にない場合は、String を選択することをお勧めします。
[サービスユニットフィールド]
ビジネスデータフィールドとサービスユニットのフィールド名のマッピングを構成します。 ビジネス状況に基づいてフィールド名をカスタマイズできます。 名前は次の要件を満たしている必要があります。
文字、数字、およびアンダースコア (_) のみを含めることができます。
文字で始まります。
長さは 4 ~ 64 文字です。
[サービスユニットフィールドの説明]
サービスユニットフィールドの簡単な説明を入力します。
サービスユニットフィールドの構成が完了したら、下部にある [データプレビュー] をクリックして、フィールドに対応するビジネスデータを表示します。 最大 1000 レコードを返すことができます。
選択した物理データテーブルに基づいて、システムは行レベルの権限名、説明、制御フィールド、データソース環境、関連付けられたテーブル、関連付けられたフィールドなど、物理データテーブルに関連付けられた行レベルの権限情報を自動的に解析します。 また、次の操作を実行することもできます。
行レベルの権限を [有効] または [無効] にする:行レベルの権限の有効なステータスと、サービスユニットを表示するときに表示される行レベルの権限リスト情報を制御します。
行レベル権限の作成:オペレーターには、行レベル権限を作成する権限が必要です。クリックして[管理ハブ] > [権限管理]の行レベル権限作成ページに移動し、新しい行レベル権限を作成します。
説明この API の呼び出しによって返されるデータ範囲は、行レベルの権限によって制御されます。行レベルの権限に不整合がある場合、データの戻り結果に違いが生じます。
モードが [基本] の場合、本番環境に関連付けられた物理データテーブルの行レベル権限が表示されます。モードが開発-本番の場合、開発環境と本番環境の両方に関連付けられた物理データテーブルの行レベル権限が表示されます。
サービスユニットで行レベルの権限が有効になっていて、公開されている場合、このサービスユニットで作成された API は、呼び出されたときに対応する行レベルの権限によって制御されます。
行レベルの権限が有効になっていて公開されているサービスユニットで API を作成する場合、[管理ハブ] > [権限管理] でこのサービスユニットに関連付けられた行レベルの権限を作成/削除すると、API を再公開する必要なく、システムによって行レベルの権限が自動的に有効/無効になります。
追加された物理テーブルは、物理テーブルのフィールドが API によって適用されるか、サービスユニットに追加されるかに関係なく、物理テーブルに関連付けられた行レベルの権限によって制御されます。
複数の物理テーブルの異なるフィールドが同じ行レベルの権限に関連付けられている場合、すべてのフィールドが有効になります。
[送信] をクリックして、複数物理テーブルのサービスユニットの作成を完了します。
次のステップ
サービスユニットページで、[アクション] 列の
アイコンをクリックし、[公開] を選択して、単一物理テーブルサービスユニットを本番環境に送信します。 その後、この単一物理テーブルサービスユニットに基づいて API を作成できます。 詳細については、「API を作成する」をご参照ください。
物理テーブルサービスユニットが作成されると、サービスユニットページで編集、公開、または削除できます。 詳細については、「サービスユニットを管理する」をご参照ください。