サブスクリプションを管理する
このドキュメントでは、サブスクライバーとパブリッシャーの両方のタスクを対象として、BigQuery Sharing のサブスクリプションを管理する方法について説明します。
BigQuery Sharing のサブスクライバーは、次のことができます。
- リスティングをサブスクライブする。
- 特定の Google Cloud プロジェクトの現在のサブスクリプションを一覧表示する。
- サブスクリプションを削除する。
BigQuery Sharing のパブリッシャーは、次のことができます。
- リスティングのすべてのサブスクリプションを表示する。
- 特定のサブスクリプションへのアクセスを取り消す。
BigQuery Sharing のサブスクリプションは、サブスクライバーのプロジェクトに存在するリージョン リソースです。サブスクリプションには、サブスクライバーに関する関連情報が保存され、パブリッシャーとサブスクライバーの間の契約を表します。
始める前に
BigQuery Sharing(旧 Analytics Hub)を開始するには、 Google Cloud プロジェクト内で Analytics Hub API を有効にする必要があります。
Analytics Hub API を有効にするには、次の Identity and Access Management(IAM)権限が必要です。
serviceUsage.services.getserviceUsage.services.listserviceUsage.services.enable
次の IAM 事前定義ロールには、Analytics Hub API を有効にするために必要な権限が含まれています。
- Service Usage 管理者(
roles/serviceusage.serviceUsageAdmin)
Analytics Hub API を有効にするには、次のいずれかのオプションを選択します。
コンソール
Analytics Hub API ページに移動し、 Google Cloud プロジェクトの Analytics Hub API を有効にします。
gcloud
gcloud services enable コマンドを実行します。
gcloud services enable analyticshub.googleapis.com
必要なロール
サブスクリプションの管理に必要な権限を取得するには、プロジェクトに対する Analytics Hub サブスクリプション オーナー(roles/analyticshub.subscriptionOwner)IAM ロールを付与するよう管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
サブスクリプションを管理するためのサブスクライバーのワークフロー
以降のセクションでは、BigQuery Sharing のサブスクライバーがサブスクリプションでできることについて説明します。
リスティングに登録する
リスティングに登録するには、リスティングとデータ エクスチェンジを表示して登録するの手順を実施してください。
サブスクリプションを一覧表示する
特定のプロジェクトの現在のサブスクリプションを一覧表示するには、projects.locations.subscriptions.list メソッドを使用します。
GET https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/subscriptions
次のように置き換えます。
PROJECT_ID: 一覧表示するサブスクリプションの Google Cloud プロジェクト ID。LOCATION: 一覧表示するサブスクリプションのロケーション。
サブスクリプションを削除する
サブスクリプションを削除するには、projects.locations.subscriptions.delete メソッドを使用します。
DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/subscriptions/SUBSCRIPTION_ID
次のように置き換えます。
PROJECT_ID: 削除するサブスクリプションのプロジェクト ID。LOCATION: 削除するサブスクリプションのロケーション。Sharing をサポートするロケーションの詳細については、サポートされているリージョンをご覧ください。SUBSCRIPTION_ID: 削除するサブスクリプションの ID。
リクエスト本文は空にする必要があります。成功した場合、レスポンスの本文にはオペレーションのインスタンスが含まれます。
BigQuery Sharing のサブスクライバーがサブスクリプションを削除すると、サブスクライバーのプロジェクトからリンクされているデータセットも削除されます。
マルチリージョン リスティングからサブスクリプションを削除すると(プレビュー)、リンクされているプライマリとセカンダリのデータセット レプリカもすべてサブスクライバーのプロジェクトから削除されます。
API を使用してサブスクリプションで実行できるタスクの詳細については、projects.locations.subscriptions メソッドをご覧ください。
サブスクリプションを管理するためのパブリッシャーのワークフロー
以降のセクションでは、BigQuery Sharing のパブリッシャーがサブスクリプションでできることについて説明します。リスティングのサブスクリプションの管理について詳しくは、リスティングの管理をご覧ください。
サブスクリプションを一覧表示する
すべてのサブスクリプションを一覧表示するには、次のいずれかのオプションを選択します。
コンソール
Google Cloud コンソールで、[共有(Analytics Hub)] ページに移動します。
このページには、アクセス可能なすべてのデータ エクスチェンジが一覧表示されます。
サブスクリプションを一覧表示するデータ エクスチェンジの名前をクリックします。
[サブスクリプション] タブをクリックします。データ エクスチェンジ内のリスティングのサブスクリプションがすべて表示されます。
API
特定のデータ エクスチェンジのリスティングのサブスクリプションを一覧表示するには、projects.locations.dataExchanges.listSubscriptions メソッドを使用します。
GET https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID:listSubscriptions
次のように置き換えます。
PROJECT_ID: サブスクリプションを一覧表示するデータ エクスチェンジのプロジェクト ID。LOCATION: サブスクリプションを一覧表示するデータ エクスチェンジのロケーション。DATAEXCHANGE_ID: サブスクリプションを一覧表示するデータ エクスチェンジの ID。
サブスクリプションを取り消す
BigQuery Sharing のパブリッシャーがサブスクリプションを取り消すと、サブスクライバーはリンクされたデータセットをクエリできなくなります。これはサブスクライバーが所有するリソースに対してパブリッシャーが開始したアクションであるため、リンク済みのデータセットはサブスクライバーのプロジェクトに残ります。残ったデータセットは、サブスクライバーが削除できます。
パブリッシャーが複数のリージョンのリスティングからサブスクリプションを取り消すと(プレビュー)、サブスクライバーはリンクされたプライマリ データセット レプリカまたはセカンダリ データセット レプリカをクエリできなくなります。
サブスクリプションを取り消すには、次のいずれかのオプションを選択します。
コンソール
Google Cloud コンソールで、[共有(Analytics Hub)] ページに移動します。
このページには、アクセス可能なすべてのデータ エクスチェンジが一覧表示されます。
リスティングを取り消すデータ エクスチェンジの名前をクリックします。
[サブスクリプション] タブをクリックします。データ エクスチェンジのすべてのサブスクリプションが表示されます。
取り消すサブスクリプションを選択します。
[サブスクリプションを取り消す] をクリックします。
API
サブスクリプションを取り消すには、projects.locations.subscriptions.revoke メソッドを使用します。
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/subscriptions/SUBSCRIPTION_ID:revoke
次のように置き換えます。
PROJECT_ID: 取り消すサブスクリプションのプロジェクト ID。LOCATION: サブスクリプションのロケーション。SUBSCRIPTION_ID: 取り消すサブスクリプションの ID。
制限事項
サブスクリプションには次のような制限があります。
- API を使用して管理できるのは、2023 年 7 月 25 日以降に作成されたサブスクリプションのみです。この日より前に作成されたリンク済みデータセットには、必要なサブスクリプション リソースがないためサポートされていません。
次のステップ
- BigQuery Sharing のアーキテクチャについて確認する。
- リスティングとデータ エクスチェンジを表示して登録する方法を確認する。
- BigQuery Sharing のユーザーロールについて確認する。
- データセットを作成する方法について確認する。
- BigQuery Sharing 監査ロギングについて確認する。