软件包 google.cloud.bigquery.reservation.v1beta1

索引

ReservationService

借助此 API,用户可以管理其固定费率 BigQuery 预留。

预留以的形式向用户提供计算资源保证。槽是 BigQuery 中的计算容量单位,也是并行处理的基本单元。扫描多分区表时,单个槽处理表的单个分区中的数据。预留资源作为管理项目和位置的子资源存在,例如:projects/myproject/locations/US/reservations/reservationName。

容量承诺是为 BigQuery 作业购买计算容量的一种方法(以槽的形式),并且具有一定的最短承诺使用期。容量承诺资源作为管理项目和位置的子资源存在,例如:projects/myproject/locations/US/capacityCommitments/id。

部分方法会返回 google.longrunning.Operation,因为处理请求可能需要很长时间。

CreateAssignment

CreateAssignmentRequestAssignment rpc CreateAssignment() returns ()

如果用户对使用预留的项目和拥有此预留的项目没有“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

CreateReservationRequestReservation rpc CreateReservation() returns ()

创建新的预留资源。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

DeleteAssignment

DeleteAssignmentRequestEmpty rpc DeleteAssignment() returns ()

删除分配。不会发生任何扩展。例如,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

DeleteCapacityCommitmentRequestEmpty rpc DeleteCapacityCommitment() returns ()

删除容量承诺。如果尝试在相应 commitment_end_time 之前删除容量承诺,则操作将失败并显示错误代码 google.rpc.Code.FAILED_PRECONDITION

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

DeleteReservation

DeleteReservationRequestEmpty rpc DeleteReservation() returns ()

删除预留。如果预留已有分配,则返回 google.rpc.Code.FAILED_PRECONDITION。您可以通过将 DeleteReservationRequest.force 标志设置为 true 来绕过此项检查。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

GetCapacityCommitment

GetCapacityCommitmentRequestCapacityCommitment rpc GetCapacityCommitment() returns ()

返回有关容量承诺的信息。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

GetReservation

GetReservationRequestReservation rpc GetReservation() returns ()

返回预留的相关信息。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

ListAssignments

ListAssignmentsRequestListAssignmentsResponse rpc ListAssignments() returns ()

列出分配。系统将仅返回明确创建的分配。例如,organizationA 包含 project1 和 project2。存在预留 res1。系统之前已调用 CreateAssignment,并且明确创建了以下分配:<organizationA, res1> <project1, res1>。然后,此 API 将仅返回预留 res1 的上述两个分配,且不会发生展开/合并。通配符“-”可用于请求中的预留。在这种情况下,所有分配都属于指定项目,并将列出位置。注意,“-”不能用于项目或位置。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

ListCapacityCommitments

ListCapacityCommitmentsRequestListCapacityCommitmentsResponse rpc ListCapacityCommitments() returns ()

列出管理项目的所有容量承诺。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

ListReservations

ListReservationsRequestListReservationsResponse rpc ListReservations() returns ()

列出项目在指定位置的所有预留。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

MoveAssignment

MoveAssignmentRequestAssignment rpc MoveAssignment() returns ()

移动新预留名下的分配。客户可以通过删除现有的分配,然后在新预留下再创建一个分配来执行此操作,但此方法是事务性方法,目的是确保分配对象始终具有关联的预留。如果不采用此方法,客户可能会看到一些意料之外的查询按需运行。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

SearchAssignments

SearchAssignmentsRequestSearchAssignmentsResponse rpc SearchAssignments() returns ()

查找指定区域中指定资源的分配。如果请求是针对某个项目的:1) 该项目中如果存在创建的分配,则返回其中的分配。2) 否则,将返回在最近祖先实体中创建的分配。3) 不同 JobType 的分配将全部返回。如果请求是针对某个文件夹的,则应用相同的逻辑。如果请求针对某个组织,则返回在该组织中创建的分配(组织没有祖先实体)。此方法与 ListAssignments 相比,存在一些行为差异:1) 此 API 会验证分配对象的权限。2) 此 API 会执行层次结构查找(项目 -> 文件夹 -> 组织)。3) 父级是 projects/*/locations/*,而不是 projects/*/locations/*reservations/*。通配符“-”可用于 SearchAssignmentsRequest.parent 中的项目。注意,“-”不能用于项目或位置。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

UpdateReservation

UpdateReservationRequestReservation rpc UpdateReservation() returns ()

更新现有的预留资源。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

Assignment

借助分配,项目可以使用指定预留提供的槽来提交特定类型的作业。

字段
name

string

仅限输出。资源的名称。例如:projects/myproject/locations/US/reservations/team1-prod/assignments/123。

assignee

string

将使用预留的资源。例如 projects/myproject、folders/123、organizations/456。

job_type

JobType

将使用预留的作业的类型。

JobType

作业的类型,可在使用预留时指定。

枚举
JOB_TYPE_UNSPECIFIED 无效类型。使用此值的请求将被拒绝,错误代码为 google.rpc.Code.INVALID_ARGUMENT
PIPELINE 项目中的流水线(加载/导出)作业将使用预留。
QUERY 项目中的查询作业将使用预留。

CapacityCommitment

容量承诺是为 BigQuery 作业购买计算容量的一种方法(以槽的形式),并且具有一定的最短承诺使用期。容量承诺是不可变的,并且在承诺期结束之前无法删除。在承诺期结束后,您仍可使用槽,但随时可以将其自由移除。

容量承诺资源以管理项目的子资源形式存在。

字段
name

string

仅限输出。容量承诺的资源名称,例如,projects/myproject/locations/US/capacityCommitments/123

slot_count

int64

此承诺中的槽数。

plan

CommitmentPlan

容量承诺的承诺方案。

state

State

仅限输出。承诺的状态。

commitment_end_time

Timestamp

仅限输出。承诺期结束。无法在 commitment_end_time 之前移除容量承诺。它仅适用于有效容量承诺,并作为方案和容量承诺生效时间的组合计算。

CommitmentPlan

承诺方案决定承诺期的结束时间。

枚举
COMMITMENT_PLAN_UNSPECIFIED 方案值无效。使用此值的请求将被拒绝,错误代码为 google.rpc.Code.INVALID_ARGUMENT
MONTHLY 在容量承诺变为 ACTIVE 状态后的 30 天内无法将其移除。
ANNUAL 在容量承诺变为 ACTIVE 状态后的 365 天内无法将其移除。

State

容量承诺可以立即变为 ACTIVE 状态,也可以从 PENDING 状态转换为 ACTIVE 状态。

枚举
STATE_UNSPECIFIED 状态值无效。
PENDING 容量承诺正在等待预配。待处理的容量承诺不会添加到父级 slot_capacity。
ACTIVE 槽预配完成后,容量承诺即会生效。系统会将 slot_count 添加到父级 slot_capacity。

CreateAssignmentRequest

ReservationService.CreateAssignment 的请求。注意:相关分配对象需要具有“bigquery.reservationAssignments.create”权限。

字段
parent

string

分配的父资源名称,例如:projects/myproject/location/US/reservations/team1-prod

必须对指定的资源 parent 具有以下 Google IAM 权限才能进行授权:

  • bigquery.reservationAssignments.create

assignment

Assignment

需要创建的分配资源。

CreateCapacityCommitmentMetadata

ReservationService.CreateCapacityCommitment 返回的操作的元数据。

字段
capacity_commitment

string

正在创建的容量承诺的资源名称。例如,projects/myproject/locations/US/capacityCommitments/123

CreateReservationRequest

ReservationService.CreateReservation 的请求。

字段
parent

string

项目、位置。例如,projects/myproject/locations/US

reservation_id

string

预留 ID。此字段只能包含字母数字字符或短划线。

reservation

Reservation

需要创建的新预留的内容。

DeleteAssignmentRequest

ReservationService.DeleteAssignment 的请求。注意:相关分配对象需要具有“bigquery.reservationAssignments.delete”权限。

字段
name

string

资源的名称,例如:projects/myproject/locations/US/reservations/team1-prod/assignments/123

必须对指定的资源 name 具有以下 Google 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

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/location/US/reservations/team1-prod 或 projects/myproject/location/US/reservations/-

必须对指定的资源 parent 具有以下 Google 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

用于检索下一页结果的令牌。如果列表中没有更多结果,则为空。

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 具有以下 Google IAM 权限才能进行授权:

  • bigquery.reservationAssignments.delete

destination_id

string

新的预留 ID,例如,projects/myotherproject/locations/US/reservations/team2-prod

Reservation

预留是一种机制,用于保证用户有可用的槽。

字段
name

string

预留的资源名称,例如,"projects/*/locations/*/reservations/team1-prod"。

slot_capacity

int64

此预留可提供的槽数上限。槽是 BigQuery 中的计算容量单位,也是并行处理的单位。扫描多分区表时,单个槽处理表的单个分区中的数据。如果新预留的槽容量超过了父级槽容量,或者新预留及其同级预留的总槽容量超过了父级槽容量,请求将会失败并返回 google.rpc.Code.RESOURCE_EXHAUSTED

ignore_idle_slots

bool

如果为 true,则使用此预留的任何查询都可以使用同一管理项目中其他预留的空闲槽。如果为 false,则使用此预留的查询将按上述指定的槽容量上限来执行。如果未指定,则默认值为 true。

SearchAssignmentsRequest

ReservationService.SearchAssignments 的请求。注意:相关分配对象需要具有“bigquery.reservationAssignments.search”权限。

字段
parent

string

管理项目的资源名称(包含项目和位置),例如:“projects/myproject/locations/US”。

query

string

请在查询中指定资源名称作为分配对象。例如,“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

用于检索下一页结果的令牌。如果列表中没有更多结果,则为空。

UpdateReservationRequest

ReservationService.UpdateReservation 的请求。

字段
reservation

Reservation

需要更新的预留的内容。

update_mask

FieldMask

需要更新的一组字段的标准字段掩码。