パッケージ google.cloud.bigquery.reservation.v1beta1

インデックス

ReservationService

ユーザーは、この API を使って定額の BigQuery 予約を管理できます。

予約では演算リソースをスロット数でユーザーに保証します。スロットが BigQuery の演算能力の単位であり、並行処理の基本単位となります。マルチパーティション分割テーブルのスキャンでは、テーブルの各パーティションに 1 つのスロットが動作します。予約のリソースは、管理プロジェクトとロケーションの子リソースになります。例: projects/myproject/locations/US/reservations/reservationName。

容量コミットメントは、commit された使用期間で BigQuery ジョブの演算能力を(スロット数で)購入する方法です。容量コミットメントのリソースは、管理プロジェクトとロケーションの子リソースになります。例: projects/myproject/locations/US/capacityCommitments/id。

CreateAssignment

rpc CreateAssignment(CreateAssignmentRequest) returns (Assignment)

予約を使用するプロジェクト、および予約を所有するプロジェクトに対する「bigquery.admin」権限がない場合、google.rpc.Code.PERMISSION_DENIED が返されます。割り当てられたロケーションと予約したロケーションが一致しない場合、google.rpc.Code.INVALID_ARGUMENT が返されます。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

CreateReservation

rpc CreateReservation(CreateReservationRequest) returns (Reservation)

新しい予約リソースを作成します。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

DeleteAssignment

rpc DeleteAssignment(DeleteAssignmentRequest) returns (Empty)

割り当てを削除します。拡張は行われません。たとえば、organizationA には project1 と project2 が含まれます。予約 res1 が存在します。まず CreateAssignment が呼び出され、割り当て <organizationA, res1>、<project1, res1> が明示的に作成されました。その後、<organizationA, res1> を削除しても <project1, res1> には影響しません。<organizationA, res1> の削除後、project1 からのクエリは res1 を使用しますが、project2 からのクエリはオンデマンド モードを使用します。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

DeleteCapacityCommitment

rpc DeleteCapacityCommitment(DeleteCapacityCommitmentRequest) returns (Empty)

容量コミットメントを削除します。容量コミットメントを commitment_end_time より前に削除しようとすると、エラーコード google.rpc.Code.FAILED_PRECONDITION により失敗します。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

DeleteReservation

rpc DeleteReservation(DeleteReservationRequest) returns (Empty)

予約を削除します。予約に割り当てがある場合、google.rpc.Code.FAILED_PRECONDITION を返します。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

GetBiReservation

rpc GetBiReservation(GetBiReservationRequest) returns (BiReservation)

BI 予約を取得します。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

GetCapacityCommitment

rpc GetCapacityCommitment(GetCapacityCommitmentRequest) returns (CapacityCommitment)

容量コミットメントに関する情報を返します。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

GetReservation

rpc GetReservation(GetReservationRequest) returns (Reservation)

予約に関する情報を返します。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

ListAssignments

rpc ListAssignments(ListAssignmentsRequest) returns (ListAssignmentsResponse)

割り当てを一覧表示します。明示的に作成された割り当てのみ表示されます。たとえば、organizationA には project1 と project2 が含まれます。予約 res1 が存在します。CreateAssignment が呼び出され、割り当て <organizationA、res1>、<project1、res1> が明示的に作成されました。この API は予約 res1 の上記の 2 つの割り当てのみを返し、拡張/統合は行われません。リクエストの予約にはワイルドカード「-」が使用できます。その場合、指定されたプロジェクトとロケーションに属する割り当てがすべて一覧表示されます。「-」は、プロジェクトやロケーションには使用できません。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

ListCapacityCommitments

rpc ListCapacityCommitments(ListCapacityCommitmentsRequest) returns (ListCapacityCommitmentsResponse)

管理プロジェクトのすべての容量コミットメントを一覧表示します。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

ListReservations

rpc ListReservations(ListReservationsRequest) returns (ListReservationsResponse)

指定されたロケーションにあるプロジェクトのすべての予約を一覧表示します。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

MergeCapacityCommitments

rpc MergeCapacityCommitments(MergeCapacityCommitmentsRequest) returns (CapacityCommitment)

同じプランの容量コミットメントを 1 つにマージします。結果として得られる容量コミットメントには、2 つのコミットメントのうち commit_end_time の長い方があります。異なるプランの容量コミットメントを結合しようとすると、エラーコード google.rpc.Code.FAILED_PRECONDITION が記録されて処理が失敗します。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

MoveAssignment

rpc MoveAssignment(MoveAssignmentRequest) returns (Assignment)

新しい予約の下に割り当てを移動します。顧客は、新規予約では既存の割り当てを削除して別の割り当てを作成することでこれが実現できますが、このメソッドでは、割り当て先に常に関連付けられた予約があるようにトランザクションを行うことができます。このメソッドを使用しないと、オンデマンドで実行される一部のクエリが予期せず表示される場合があります。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

SearchAssignments

rpc SearchAssignments(SearchAssignmentsRequest) returns (SearchAssignmentsResponse)

特定のリージョンに指定されたリソースの割り当てを検索します。リクエストがプロジェクトに関する場合、次のようになります。1)プロジェクトで作成された割り当てが存在する場合、それらが返されます。2)それ以外の場合、最も近い祖先で作成された割り当てが返されます。3)異なる JobTypes に対する割り当ては、すべて返されます。リクエストがフォルダに関する場合も、同じロジックが適用されます。リクエストが組織に関する場合、組織で作成された割り当てが返されます(組織に祖先はない)。ListAssignments と比較すると、次のような動作上の相違があります。1)割り当てに対する権限がこの API で検証されます。2)階層ルックアップ(project-> folder-> organization)がこの API で行われます。3)ここでの親は、projects/*/locations/*reservations/* ではなく、projects/*/locations/* です。「-」は、プロジェクトやロケーションには使用できません。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

SplitCapacityCommitment

rpc SplitCapacityCommitment(SplitCapacityCommitmentRequest) returns (SplitCapacityCommitmentResponse)

容量コミットメントを同じプランの 2 つのコミットメントと commit_end_time に分割します。たとえば、10,000 スロットから 8,000 にダウングレードするために、10,000 の容量コミットメントを 2,000 と 8,000 に分割し、1 つ目のプランをフレキシブルに変更してからそれを削除するなどしてダウングレードするのが一般的です。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

UpdateBiReservation

rpc UpdateBiReservation(UpdateBiReservationRequest) returns (BiReservation)

BI 予約を更新します。field_mask で指定されたフィールドのみが更新されます。シングルトン BI 予約は、常にデフォルトのサイズ 0 で存在します。BI 容量を予約するには、0 より大きい値に更新する必要があります。BI 容量を解放するには、予約サイズを 0 に設定する必要があります。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

UpdateCapacityCommitment

rpc UpdateCapacityCommitment(UpdateCapacityCommitmentRequest) returns (CapacityCommitment)

既存の容量コミットメントを更新します。

更新できるのは、プラン フィールドと renewal_plan フィールドのみです。プランは、より長いコミットメント期間のプランにのみ変更できます。コミットメント期間が短いプランに変更しようとすると、エラーコード google.rpc.Code.FAILED_PRECONDITION が記録されて処理が失敗します。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

UpdateReservation

rpc UpdateReservation(UpdateReservationRequest) returns (Reservation)

既存の予約リソースを更新します。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

詳細については、認証の概要をご覧ください。

割り当て

割り当てにより、プロジェクトは指定された予約のスロットを使用してジョブを送信できます。

フィールド
name

string

出力のみ。リソースの名前。例: projects/myproject/locations/US/reservations/team1-prod/assignments/123

assignee

string

予約を利用するリソース。例 projects/myproject、folders/123、organizations/456

job_type

JobType

予約を利用するジョブのタイプ。

state

State

出力のみ。割り当ての状態。

JobType

ジョブのタイプ。予約の利用時に指定できます。

列挙型
JOB_TYPE_UNSPECIFIED 無効なタイプです。この値を持つリクエストは、エラーコード google.rpc.Code.INVALID_ARGUMENT によって拒否されます。
PIPELINE プロジェクトからのパイプライン(読み込み / エクスポート)ジョブは予約を使用します。
QUERY プロジェクトのクエリジョブは予約を使用します。

ステータス

アクティブな容量コミットメントがない場合、割り当ては PENDING ステータスのままになります。容量コミットメントがアクティブになるとステータスも ACTIVE になります。

列挙型
STATE_UNSPECIFIED 無効なステータス値です。
PENDING 関連する割り当てが保留中の場合、割り当て先からのクエリはオンデマンドで実行されます。
ACTIVE 割り当て準備が完了しました。

BiReservation

BI 予約を表します。

フィールド
name

string

シングルトン BI 予約のリソース名。予約名の形式は projects/{project_id}/locations/{location_id}/bireservation です。

update_time

Timestamp

出力のみ。予約の最終更新タイムスタンプ。

size

int64

予約のサイズ(バイト単位)。

CapacityCommitment

容量コミットメントは、commit された使用期間で BigQuery ジョブのコンピューティング容量を(スロット形式で)購入する方法です。年間コミットメントはデフォルトで更新されます。コミットメントは、コミットメントの終了時間を過ぎたら削除できます。年間コミットメントを削除するには、まず、マンスリー プランまたはフレキシブル プランに変更する必要があります。

容量コミットメントのリソースは、管理プロジェクトの子リソースになります。

フィールド
name

string

出力のみ。容量コミットメントのリソース名。たとえば、projects/myproject/locations/US/capacityCommitments/123

slot_count

int64

このコミットメント内のスロット数。

plan

CommitmentPlan

容量コミットメントのコミットメント プラン。

state

State

出力のみ。コミットメントの状態。

commitment_end_time

Timestamp

出力のみ。現在のコミットメント期間の終了。有効な容量コミットメントにのみ適用されます。

failure_status

Status

出力のみ。失敗したコミットメント プランの場合は、失敗の理由を示します。

renewal_plan

CommitmentPlan

この容量コミットメントが commit_end_time 経過後に変換されるプラン。プランが変更されると、コミットメント プランに従って commit 期間が延長されます。年間コミットメントにのみ適用されます。

CommitmentPlan

コミットメント プランは、現在の commit 期間を定義します。commit 期間中は容量コミットメントを削除できません。

列挙型
COMMITMENT_PLAN_UNSPECIFIED 無効なプラン値です。この値を持つリクエストは、エラーコード google.rpc.Code.INVALID_ARGUMENT によって拒否されます。
FLEX フレキシブル コミットメントでは、ACTIVE になってから 1 分間 commit 期間が継続します。その後は、commit 期間が終了し、いつでも削除できます。
TRIAL トライアル コミットメントの commit 期間は、ACTIVE になってから 182 日間です。その後、renewal_plan に基づいて新しいコミットメントに変換されます。トライアル コミットメントのデフォルトの renewal_plan はフレキシブルであるため、commit 期間が終了した直後に削除できます。
MONTHLY 月間コミットメントでは、ACTIVE になってから 30 日間 commit 期間が継続します。その後は、commit 期間が終了し、いつでも削除できます。
ANNUAL 年間コミットメントでは、ACTIVE になってから 365 日間 commit 期間が継続します。その後、renewal_plan に基づいて新しいコミットメントに変換されます。

ステータス

容量コミットメントはすぐに ACTIVE になるか、PENDING から ACTIVE または FAILED に移行します。

列挙型
STATE_UNSPECIFIED 無効なステータス値です。
PENDING 容量コミットメントはプロビジョニングの保留中です。保留中の容量コミットメントによって、親の slot_capacity に影響が及ぼされることはありません。
ACTIVE スロットがプロビジョニングされると、容量コミットメントがアクティブになります。slot_count が親の slot_capacity に追加されます。
FAILED バックエンドで容量コミットメントを有効にできませんでした。

CreateAssignmentRequest

ReservationService.CreateAssignment のリクエスト。注: 関連する担当者には「bigquery.reservationAssignments.create」権限が必要です。

フィールド
parent

string

必須。割り当ての親リソース名。例: projects/myproject/locations/US/reservations/team1-prod

認可には、指定されたリソース parent に対する次の IAM の権限が必要です。

  • bigquery.reservationAssignments.create
assignment

Assignment

作成する割り当てリソース。

CreateCapacityCommitmentRequest

ReservationService.CreateCapacityCommitment のリクエスト。

フィールド
parent

string

必須。親リソース名の予約例: projects/myproject/locations/US

capacity_commitment

CapacityCommitment

作成する容量コミットメントの内容。

enforce_single_admin_project_per_org

bool

true の場合、組織内の別のプロジェクトに容量コミットメントがあるとリクエストが失敗します。

CreateReservationRequest

ReservationService.CreateReservation のリクエスト。

フィールド
parent

string

必須。プロジェクト、ロケーション。例: projects/myproject/locations/US

reservation_id

string

予約 ID。このフィールドには、小文字の英数字またはダッシュのみを使用してください。最大長は 64 文字です。

reservation

Reservation

作成する新規予約の内容。

DeleteAssignmentRequest

ReservationService.DeleteAssignment のリクエスト。注: 関連する担当者には「bigquery.reservationAssignments.delete」権限が必要です。

フィールド
name

string

必須。リソースの名前。例:projects/myproject/locations/US/reservations/team1-prod/assignments/123

認可には、指定されたリソース name に対する次の IAM の権限が必要です。

  • bigquery.reservationAssignments.delete

DeleteCapacityCommitmentRequest

ReservationService.DeleteCapacityCommitment のリクエスト。

フィールド
name

string

必須。削除する容量コミットメントのリソース名。例:projects/myproject/locations/US/capacityCommitments/123

DeleteReservationRequest

ReservationService.DeleteReservation のリクエスト。

フィールド
name

string

必須。取得する予約のリソース名。例:projects/myproject/locations/US/reservations/team1-prod

GetBiReservationRequest

シングルトン BI 予約を取得するためのリクエスト。

フィールド
name

string

必須。リクエストされた予約の名前。例: projects/{project_id}/locations/{location_id}/bireservation

認可には、指定されたリソース name に対する次の IAM の権限が必要です。

  • bi.reservations.get

GetCapacityCommitmentRequest

ReservationService.GetCapacityCommitment のリクエスト。

フィールド
name

string

必須。取得する容量コミットメントのリソース名。例: projects/myproject/locations/US/capacityCommitments/123

GetReservationRequest

ReservationService.GetReservation のリクエスト。

フィールド
name

string

必須。取得する予約のリソース名。例:projects/myproject/locations/US/reservations/team1-prod

ListAssignmentsRequest

ReservationService.ListAssignments のリクエスト。

フィールド
parent

string

必須。親リソース名。例: projects/myproject/locations/US/reservations/team1-prod または projects/myproject/locations/US/reservations/-

認可には、指定されたリソース parent に対する次の IAM の権限が必要です。

  • bigquery.reservationAssignments.list
page_size

int32

返すアイテムの最大数。

page_token

string

前の List リクエストから返された next_page_token 値(存在する場合)。

ListAssignmentsResponse

ReservationService.ListAssignments に対するレスポンス。

フィールド
assignments[]

Assignment

ユーザーに表示される割り当てのリスト。

next_page_token

string

結果の次のページを取得するためのトークン。リストにそれ以上の結果がない場合は空です。

ListCapacityCommitmentsRequest

ReservationService.ListCapacityCommitments のリクエスト。

フィールド
parent

string

必須。親リソース名の予約例: projects/myproject/locations/US

page_size

int32

返すアイテムの最大数。

page_token

string

前の List リクエストから返された next_page_token 値(存在する場合)。

ListCapacityCommitmentsResponse

ReservationService.ListCapacityCommitments に対するレスポンス。

フィールド
capacity_commitments[]

CapacityCommitment

ユーザーに表示される容量コミットメントの一覧。

next_page_token

string

結果の次のページを取得するためのトークン。リストにそれ以上の結果がない場合は空です。

ListReservationsRequest

ReservationService.ListReservations のリクエスト。

フィールド
parent

string

必須。プロジェクトとロケーションを含む親リソース名。例: "projects/myproject/locations/US"

page_size

int32

返すアイテムの最大数。

page_token

string

前の List リクエストから返された next_page_token 値(存在する場合)。

filter

string

名前やキャパシティなどに基づいて予約を絞り込むときに使用できます(例: filter="reservation.slot_capacity > 200" filter="reservation.name = "*dev/*"")。高度なフィルタの構文についてはこちらをご覧ください。

ListReservationsResponse

ReservationService.ListReservations に対するレスポンス。

フィールド
reservations[]

Reservation

ユーザーに対して表示される予約のリスト。

next_page_token

string

結果の次のページを取得するためのトークン。リストにそれ以上の結果がない場合は空です。

MergeCapacityCommitmentsRequest

ReservationService.MergeCapacityCommitments のリクエスト。

フィールド
parent

string

管理プロジェクトとロケーションを識別する親リソース(例:projects/myproject/locations/us)

capacity_commitment_ids[]

string

結合する容量コミットメントの ID。これらの容量コミットメントは、管理プロジェクトと親で指定されたロケーションに存在している必要があります。

MoveAssignmentRequest

ReservationService.MoveAssignment のリクエスト。注: destination_id には「bigquery.reservationAssignments.create」権限が必要です。注: 関連する担当者には、「bigquery.reservationAssignments.create」および「bigquery.reservationAssignments.delete」権限が必要です。

フィールド
name

string

必須。割り当てのリソース名。例: projects/myproject/locations/US/reservations/team1-prod/assignments/123

認可には、指定されたリソース name に対する次の IAM の権限が必要です。

  • bigquery.reservationAssignments.delete
destination_id

string

新規予約 ID。例: projects/myotherproject/locations/US/reservations/team2-prod

予約

予約は、ユーザーにスロットを保証するメカニズムです。

フィールド
name

string

予約のリソース名。例:「projects/*/locations/*/reservations/team1-prod」。

slot_capacity

int64

この予約で使用できる最小スロット数。スロットが BigQuery の演算能力の単位であり、並行処理の単位となります。この予約を使用するクエリでは、ignore_idle_slots が false に設定されている場合、ランタイム中にスロットが増える可能性があります。新規予約のスロット容量が親スロットの容量を超えた場合、または新規予約とそのシブリングスのスロット容量の合計が親スロットの容量を超えた場合、リクエストは google.rpc.Code.RESOURCE_EXHAUSTED のエラーとなります。

ignore_idle_slots

bool

false の場合、この予約を使用するクエリは、同じ管理プロジェクト内の他の予約のアイドル スロットを使用します。true の場合、この予約を使用するクエリは上記で指定された最大スロット容量で実行されます。

SearchAssignmentsRequest

ReservationService.SearchAssignments のリクエスト。注: 関連する担当者には「bigquery.reservationAssignments.search」権限が必要です。

フィールド
parent

string

必須。管理プロジェクトのリソース名(プロジェクトとロケーションを含む)。例: 「projects/myproject/locations/US」。

query

string

クエリの assignee にはリソース名を指定してください。例: 「assignee=projects/myproject」「assignee=folders/123」「assignee=organizations/456」

page_size

int32

返すアイテムの最大数。

page_token

string

前の List リクエストから返された next_page_token 値(存在する場合)。

SearchAssignmentsResponse

ReservationService.SearchAssignments に対するレスポンス。

フィールド
assignments[]

Assignment

ユーザーに表示される割り当てのリスト。

next_page_token

string

結果の次のページを取得するためのトークン。リストにそれ以上の結果がない場合は空です。

SplitCapacityCommitmentRequest

ReservationService.SplitCapacityCommitment のリクエスト。

フィールド
name

string

必須。リソース名。例: projects/myproject/locations/US/capacityCommitments/123

認可には、指定されたリソース name に対する次の IAM の権限が必要です。

  • bigquery.capacityCommitments.update
slot_count

int64

分割後の容量コミットメントのスロット数。

SplitCapacityCommitmentResponse

ReservationService.SplitCapacityCommitment に対するレスポンス。

フィールド
first

CapacityCommitment

最初の容量コミットメント(分割の結果)。

second

CapacityCommitment

2 番目の容量コミットメント(分割の結果)。

UpdateBiReservationRequest

BI 予約の更新リクエスト。

フィールド
reservation

BiReservation

更新する予約。

認可には、指定されたリソース reservation に対する次の IAM の権限が必要です。

  • bi.reservations.update
update_mask

FieldMask

このリクエストで更新するフィールドのリスト。

UpdateCapacityCommitmentRequest

ReservationService.UpdateCapacityCommitment のリクエスト。

フィールド
capacity_commitment

CapacityCommitment

更新する容量コミットメントの内容。

update_mask

FieldMask

更新するフィールドを設定する標準フィールド マスク。

UpdateReservationRequest

ReservationService.UpdateReservation のリクエスト。

フィールド
reservation

Reservation

更新する予約の内容。

update_mask

FieldMask

更新するフィールドを設定する標準フィールド マスク。