テーブル スナップショットのメタデータの更新

このドキュメントでは、bq update コマンドを使用するか tables.patch API を呼び出して、BigQuery テーブル スナップショットの説明、有効期限、アクセス ポリシーを更新する方法について説明します。このドキュメントは、BigQuery のテーブルテーブル スナップショットに精通している方を対象としています。

権限とロール

このセクションでは、テーブル スナップショットのメタデータを更新するために必要な Identity and Access Management(IAM)権限と、それらの権限を付与する事前定義された IAM ロールについて説明します。

権限

テーブル スナップショットのメタデータを更新するには、次の権限が必要です。

権限 リソース
bigquery.tables.update テーブル スナップショット

ロール

テーブル スナップショットのメタデータを更新するために必要な最小限の事前定義ロールは次のとおりです。

ロール リソース
bigquery.dataEditor テーブル スナップショット

制限事項

テーブル スナップショットのメタデータは更新できますが、テーブルのスナップショット データは読み取り専用のため、更新できません。テーブル スナップショットのデータを更新するには、テーブル スナップショットを標準テーブルに復元した後、標準テーブルのデータを更新する必要があります。詳細については、テーブル スナップショットを復元するをご覧ください。

テーブル スナップショットのメタデータを更新する

テーブル スナップショットの説明、有効期限、アクセス ポリシーは、標準テーブルのメタデータを変更する場合と同じ方法で変更できます。

例:

  • 説明を更新します。次のように、library_backup.books テーブルのスナップショットの説明を books-2022-03-04 に変更します。

bq

Cloud Shell で次のコマンドを入力します。

Cloud Shell に移動

bq update --description="books-2022-03-04" library_backup.books

API

次のパラメータを指定して、tables.patch メソッドを呼び出します。

パラメータ
projectId myProject
datasetId library_backup
tableId books
リクエストの本文

{
  "description": "books-2022-03-04"
}

tables.update メソッドは Table リソース全体を置き換えるため、tables.update メソッドよりも tables.patch メソッドを選択することをおすすめします。

  • 有効期限を更新します。library_backup.books テーブルのスナップショットの有効期限を次のように変更します。

bq

Cloud Shell で次のコマンドを入力します。

Cloud Shell に移動

bq update --expiration=3600 library_backup.books

API

次のパラメータを指定して、tables.patch メソッドを呼び出します。

パラメータ
projectId myProject
datasetId library_backup
tableId books
リクエストの本文

{
  "expirationTime":"1908630376000"
}

tables.update メソッドは Table リソース全体を置き換えるため、tables.update メソッドよりも tables.patch メソッドを選択することをおすすめします。

  • アクセス権を更新します。ユーザー cloudysanfrancisco@gmail.com に、次のように library_backup.books テーブルのスナップショットのデータを表示するためのアクセス権を付与します。

bq

Cloud Shell で次のコマンドを入力します。

Cloud Shell に移動

bq add-iam-policy-binding \
  --member="user:cloudysanfrancisco@gmail.com"\
  --role="roles/bigquery.dataViewer" library_backup.books

API

次のパラメータを指定して、tables.setIamPolicy メソッドを呼び出します。

パラメータ
Resource projects/myProject/datasets/library_backup/tables/books
リクエストの本文

{
  "policy": {
    "bindings": [
      {
        "members": [
          "user:cloudysanfrancisco@gmail.com"
        ],
        "role": "roles/bigquery.dataViewer"
      }
    ]
  }
}

テーブルのセキュリティ

BigQuery でテーブルへのアクセスを制御するには、テーブルのアクセス制御の概要をご覧ください。

次のステップ