リスティングとデータ交換を表示して登録する
Analytics Hub のサブスクライバーは、アクセス権を付与されているリスティングとデータ エクスチェンジを表示して登録できます。リスティングまたはデータ エクスチェンジに登録すると、プロジェクトにリンクされたデータセットが作成されます。
必要なロール
リスティングの使用に必要な権限を取得するには、サブスクライバーのプロジェクトに関する次の Identity and Access Management(IAM)ロールを付与するよう管理者に依頼してください。
- リスティングを検索する: Analytics Hub 閲覧者(
roles/analyticshub.viewer
) - データ エクスチェンジを検索する: Analytics Hub 閲覧者(
roles/analyticshub.viewer
) リスティングに登録する: BigQuery ユーザー(
roles/bigquery.user
)- リスティングに登録するには、ユースケースに最も適したスコープ(リスティング、エクスチェンジ、プロジェクト)で、Analytics Hub サブスクライバー(
roles/analyticshub.subscriber
)ロールを付与するようリスティングのパブリッシャーに依頼する必要もあります。
- リスティングに登録するには、ユースケースに最も適したスコープ(リスティング、エクスチェンジ、プロジェクト)で、Analytics Hub サブスクライバー(
データ エクスチェンジに登録する: BigQuery ユーザー(
roles/bigquery.user
)- データ クリーンルーム エクスチェンジのコンテキストでデータ エクスチェンジに登録するには、特定データ クリーンルームに対する Analytics Hub サブスクライバーのロール(
roles/analyticshub.subscriber
)を付与するようエクスチェンジ パブリッシャーに依頼する必要があります。また、サブスクライバー組織の宛先プロジェクトのオーナーに、宛先プロジェクトに対する Analytics Hub サブスクリプション オーナーのロール(roles/analyticshub.subscriptionOwner
)を付与するよう依頼する必要があります。
- データ クリーンルーム エクスチェンジのコンテキストでデータ エクスチェンジに登録するには、特定データ クリーンルームに対する Analytics Hub サブスクライバーのロール(
リンクされたデータセットを表示する: BigQuery データ閲覧者(
roles/bigquery.dataViewer
)リンクされたデータセットをクエリする: BigQuery データ閲覧者(
roles/bigquery.dataViewer
)リンクされたデータセットを更新する: BigQuery データオーナー(
roles/bigquery.dataOwner
)テーブルのメタデータを表示する: BigQuery データ閲覧者(
roles/bigquery.dataViewer
)リンクされたデータセットを削除する: BigQuery 管理者(
roles/bigquery.admin
)
ロールの付与の詳細については、アクセスを管理するをご覧ください。
これらの事前定義ロールには、このドキュメントのタスクを実行するために必要な権限が含まれています。データセットの作成とクエリに必要な権限を確認するには、[必要な権限] セクションを開きます。
必要な権限
- 新しいデータセットを作成する: データセットに対して追加のアクションを実行するための
bigquery.datasets.create
またはbigquery.datasets.*
。 - データセットに対してクエリを実行する: ジョブに対して追加のアクションを実行するための
bigquery.jobs.create
またはbigquery.jobs.*
。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
リスティングを検索する
一般公開リスティングと限定公開リスティングを紹介する手順は次のとおりです。
Google Cloud コンソールで、[共有(Analytics Hub)] ページに移動します。
[リスティングを検索] をクリックします。アクセス可能なリスティングを含むダイアログが表示されます。
リスティングの名前または説明でフィルタリングするには、[リスティングを検索する] フィールドにリスティングの名前または説明を入力します。
[フィルタ] セクションで、次のフィールドに基づいてリスティングをフィルタリングできます。
リスティング: 限定公開リスティング、一般公開リスティング、組織内のリスティングのどれを表示するかを選択します。
カテゴリ: 1 つ以上のカテゴリを選択します。
ロケーション: ロケーションを選択します。検索できるのはデータ エクスチェンジのロケーションのみです。詳細については、サポートされているリージョンをご覧ください。
プロバイダ: データ プロバイダを選択します。一部のデータ プロバイダでは、商用データセットへのアクセス権をリクエストする必要があります。アクセス権をリクエストすると、データ プロバイダからデータセットを共有するよう求められます。
フィルタしたリスティングを参照します。
データ エクスチェンジを検出する
データ エクスチェンジを検出する手順は次のとおりです。
Google Cloud コンソールで、[共有(Analytics Hub)] ページに移動します。
[リスティングを検索] をクリックします。サブスクライブ可能なリスティングとデータ エクスチェンジを含むダイアログが表示されます。
データ エクスチェンジを名前または説明でフィルタリングするには、[リスティングを検索する] フィールドにデータ クリーンルーム エクスチェンジの名前または説明を入力します。
[フィルタ] セクションで、次のフィールドに基づいてデータ クリーンルーム エクスチェンジをフィルタリングできます。
リスト: 共有されているデータ クリーンルームを表示する場合は、[データ クリーンルーム] チェックボックスをオンにします。
カテゴリ: 1 つ以上のカテゴリを選択します。
ロケーション: ロケーションを選択します。検索できるのはデータ エクスチェンジのロケーションのみです。詳細については、サポートされているリージョンをご覧ください。
フィルタされたデータ クリーンルームを参照します。
リスティングに登録する
リスティングに登録すると、プロジェクトにリンクされたデータセットを作成することによって、リスティング内のデータに対する読み取り専用権限が付与されます。
リスティングに登録するには、次の操作を行います。
コンソール
アクセス可能なリスティングのリストを表示するには、リスティングを検索するの手順に沿って操作します。
リスティングを参照し、登録先のリスティングをクリックします。リスティングの詳細情報を含むダイアログが表示されます。[追加の詳細] セクションでは、プロバイダがリスティングを利用可能にしている地域を確認できます。
リスティング(商用データセットを参照するリスティングなど)に登録するためのアクセス権を付与されていない場合は、[アクセスをリクエスト] または [マーケットプレイスから購入] をクリックします。登録可能なデータセットをクリックする場合は、[登録] をクリックして [リンクされたデータセットを作成] ダイアログを開きます。
プロジェクトで Analytics Hub API が有効になっていない場合は、API を有効にするリンクを含むエラー メッセージが表示されます。[Analytics Hub API を有効にする] をクリックします。
[リンクされたデータセットを作成] ダイアログで、次の詳細を指定します。
- プロジェクト: データセットを追加するプロジェクトの名前を指定します。
- リンクされたデータセット名: リンクされたデータセットの名前を指定します。
プライマリ リージョン: リンクされたデータセットを作成するリージョンを選択します。
省略可: レプリカ リージョン(プレビュー): リンクされたデータセットのセカンダリ レプリカを追加で作成するリージョンを選択します。下り(外向き)を最小限に抑え、データセット間の結合を容易にするために、リンクされたデータセットを他のデータと同じリージョンに配置することをおすすめします。リンクされたデータセットのレプリカを作成するには、
bigquery.datasets.update
権限が必要です。
変更を保存するには、[Save] をクリックします。リンクされたデータセットがプロジェクトに表示されます。
API
projects.locations.dataExchanges.listings.subscribe
メソッドを使用します。
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:subscribe
次のように置き換えます。
PROJECT_ID
: 登録するリスティングのプロジェクト ID。LOCATION
: 登録するリスティングの場所。DATAEXCHANGE_ID
: 登録するリスティングのデータ交換 ID。LISTING_ID
: 登録するリスティング ID。
リクエストの本文で、リンクされたデータセットを作成するデータセットを指定します。
複数のリージョンで使用可能なリンクされたデータセット レプリカを含むサブスクリプションを作成するには(プレビュー)、リクエスト本文の location
フィールドを使用して、リンクされたデータセットのプライマリ リージョンを指定します。リンクされたデータセット レプリカを作成するセカンダリ リージョンでは、リクエスト本文の destinationDataset.replica_locations
フィールドを使用して、必要なセカンダリ レプリカ リージョンをすべて一覧表示できます。location
プロパティと destinationDataset.replica_locations
フィールドで指定されたリージョンが、関連するリスティングが利用可能なリージョンであることを確認します。
リクエストが成功すると、レスポンスの本文にサブスクリプション オブジェクトが含まれます。データ交換またはリスティングでサブスクライバーのメールのロギング(プレビュー)を有効にしている場合、サブスクリプション レスポンスには log_linked_dataset_query_user_email: true
が含まれます。
データ エクスチェンジを購読する
データ エクスチェンジに登録すると、プロジェクトにリンクされたデータセットを作成することによって、データ クリーンルーム エクスチェンジ内のデータに対する読み取り専用権限が付与されます。
データ クリーンルーム交換に登録する手順は次のとおりです。
コンソール
アクセス可能なデータ クリーンルーム エクスチェンジのリストを表示するには、データ エクスチェンジを検索するの手順に沿って操作します。
データ クリーンルーム エクスチェンジを参照し、登録するデータ クリーンルーム エクスチェンジをクリックします。データ クリーンルーム エクスチェンジの詳細情報を含むダイアログが表示されます。
登録可能なデータ クリーンルーム エクスチェンジをクリックした場合は、[登録] をクリックして [データ クリーンルームをプロジェクトに追加] ダイアログを開きます。
プロジェクトで Analytics Hub API が有効になっていない場合は、API を有効にするリンクを含むエラー メッセージが表示されます。[Analytics Hub API を有効にする] をクリックします。
[データ クリーンルームをプロジェクトに追加] ダイアログで、次の詳細を指定します。
- 宛先: データセットを追加するプロジェクトの名前を指定します。
変更を保存するには、[Save] をクリックします。リンクされたデータセットがプロジェクトに表示されます。
API
projects.locations.dataExchanges.subscribe
メソッドを使用します。
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID:subscribe
次のように置き換えます。
PROJECT_ID
: 登録するデータ エクスチェンジのプロジェクト ID。LOCATION
: 登録するデータ エクスチェンジのロケーション。DATAEXCHANGE_ID
: 登録するデータ エクスチェンジ ID。
リクエストの本文で、リンクされたデータセットを作成するデータセットを指定します。
リクエストが成功すると、レスポンスの本文にサブスクリプション オブジェクトが含まれます。データ交換でサブスクライバーのメールのロギング(プレビュー)を有効にしている場合、サブスクリプション レスポンスには log_linked_dataset_query_user_email: true
が含まれます。
リンクされたデータセットを表示する
リンクされたデータセットは、Google Cloud コンソールの他のデータセットとともに表示されます。
プロジェクト内のリンクされたデータセットを表示するには、次の手順で操作します。
コンソール
Google Cloud コンソールで、[BigQuery] ページに移動します。
左側のペインで、カテゴリ クラシック エクスプローラをクリックします。
左側のペインが表示されていない場合は、
左側のペインを開くをクリックしてペインを開きます。[クラシック エクスプローラ] ペインで、
リンクされたデータセットを含むプロジェクト名をクリックします。
他の方法として、Data Catalog(非推奨)または Dataplex Universal Catalog を使って、リンクされたデータセットを検索して表示することもできます。述語 type=dataset.linked
を使用すると、BigQuery 共有リンクされたすべてのデータセットを照合できます。詳細については、Data Catalog の検索構文または Dataplex Universal Catalog の検索構文をご覧ください。
Cloud Shell
次のコマンドを実行します。
PROJECT=<your project ID> \ for dataset in $(bq ls --project_id $PROJECT | tail +3); do [ "$(bq show -d --project_id $PROJECT $dataset | egrep LINKED)" ] && echo $dataset; done
リンクされたデータセットに対してクエリを実行する
他の BigQuery テーブルに対してクエリを実行するのと同じ方法で、リンクされたデータセット内のテーブルとビューに対してクエリを実行できます。
リンクされたデータセットを更新する
リンクされたデータセット内のリソースは読み取り専用です。リンクされたデータセット内のリソースのデータまたはメタデータを編集する、または個々のリソースに対する権限を指定することはできません。
リンクされたデータセットの説明とラベルのみ更新できます。リンクされたデータセットを変更しても、ソース データセットと共有データセットには影響しません。
リンクされたデータセットの説明とラベルを更新するには、次の手順に沿って操作します。
Google Cloud コンソールで、[BigQuery] ページに移動します。
左側のペインで、
[エクスプローラ] をクリックします。
[エクスプローラ] ペインでプロジェクト名を開き、[データセット] をクリックして、リンクされたデータセットの名前をクリックして開きます。
詳細ペインで、
[詳細を編集] をクリックして、次の詳細を指定します。- ラベルを追加するには、データセットへのラベルの追加をご覧ください。
照合を有効にするには、[詳細オプション] セクションを開いて、次の操作を行います。
- [デフォルトの照合を有効にする] を選択します。
- [デフォルトの照合] リストからオプションを選択します。
[保存] をクリックします。
テーブルのメタデータを表示する
基盤となるテーブルのメタデータを表示するには、INFORMATION_SCHEMA.TABLES
ビューに対してクエリを実行します。
SELECT * FROM `LINKED-DATASET.INFORMATION_SCHEMA.TABLES`
LINKED-DATASET は、リンクされたデータセットの名前に置き換えます。
リンクされたデータセットを購読解除する、または削除する
データセットの購読を解除するには、リンクされているデータセットを削除する必要があります。リンクされたデータセットを削除しても、ソース データセットは削除されません。
リンクされたデータセットを削除後に取得することはできません。ただし、削除されたリンク済みデータセットは、再度そのリスティングを購読し、データセットおよび Google Cloud Marketplace と統合されたリスティングから作成されたリンク済みデータセットをプロジェクトに追加することで、再作成できます。
Analytics Hub パブリッシャーによってサブスクリプションが削除された場合、リンクされたデータセットは共有データセットからリンク解除されます。これはサブスクライバーが所有するリソースに対するパブリッシャーが開始したアクションであるため、リンク済みデータセットはサブスクライバーのプロジェクトでぶら下がったままになります。サブスクライバーは、ぶら下がりデータセットを削除することで、ぶら下がりデータセットを削除できます。
リンクされたデータセットを削除するには、次の手順に沿って操作します。
Google Cloud コンソールで、[BigQuery] ページに移動します。
左側のペインで、
[エクスプローラ] をクリックします。
[エクスプローラ] ペインでプロジェクト名を開き、[データセット] をクリックして、リンクされたデータセットの名前をクリックして開きます。
[削除] をクリックします。
[リンクされたデータセットを削除しますか?] ダイアログで「削除」と入力して削除を確定します。
[削除] をクリックします。
次のステップ
- BigQuery Sharing について学習する。
- リスティングの管理について詳細を確認する。
- データ交換の管理について確認する。
- BigQuery 共有監査ロギングについて確認する。