public static final class ReservationServiceGrpc.ReservationServiceBlockingStub extends AbstractBlockingStub<ReservationServiceGrpc.ReservationServiceBlockingStub>
This API allows users to manage their flat-rate BigQuery reservations.
A reservation provides computational resource guarantees, in the form of
slots, to users. A slot is a
unit of computational power in BigQuery, and serves as the basic unit of
parallelism. In a scan of a multi-partitioned table, a single slot operates
on a single partition of the table. A reservation resource exists as a child
resource of the admin project and location, e.g.:
projects/myproject/locations/US/reservations/reservationName
.
A capacity commitment is a way to purchase compute capacity for BigQuery jobs
(in the form of slots) with some committed period of usage. A capacity
commitment resource exists as a child resource of the admin project and
location, e.g.:
projects/myproject/locations/US/capacityCommitments/id
.
Inheritance
java.lang.Object >
io.grpc.stub.AbstractStub >
io.grpc.stub.AbstractBlockingStub >
ReservationServiceGrpc.ReservationServiceBlockingStub
Inherited Members
io.grpc.stub.AbstractBlockingStub.<T>newStub(io.grpc.stub.AbstractStub.StubFactory<T>,io.grpc.Channel)
io.grpc.stub.AbstractBlockingStub.<T>newStub(io.grpc.stub.AbstractStub.StubFactory<T>,io.grpc.Channel,io.grpc.CallOptions)
io.grpc.stub.AbstractStub.<T>withOption(io.grpc.CallOptions.Key<T>,T)
io.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions)
io.grpc.stub.AbstractStub.getCallOptions()
io.grpc.stub.AbstractStub.getChannel()
io.grpc.stub.AbstractStub.withCallCredentials(io.grpc.CallCredentials)
io.grpc.stub.AbstractStub.withChannel(io.grpc.Channel)
io.grpc.stub.AbstractStub.withCompression(java.lang.String)
io.grpc.stub.AbstractStub.withDeadline(io.grpc.Deadline)
io.grpc.stub.AbstractStub.withDeadlineAfter(long,java.util.concurrent.TimeUnit)
io.grpc.stub.AbstractStub.withExecutor(java.util.concurrent.Executor)
io.grpc.stub.AbstractStub.withInterceptors(io.grpc.ClientInterceptor...)
io.grpc.stub.AbstractStub.withMaxInboundMessageSize(int)
io.grpc.stub.AbstractStub.withMaxOutboundMessageSize(int)
io.grpc.stub.AbstractStub.withWaitForReady()
Methods
build(Channel channel, CallOptions callOptions)
protected ReservationServiceGrpc.ReservationServiceBlockingStub build(Channel channel, CallOptions callOptions)
Parameters
Name | Description |
channel | io.grpc.Channel
|
callOptions | io.grpc.CallOptions
|
Returns
Overrides
io.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions)
createAssignment(CreateAssignmentRequest request)
public Assignment createAssignment(CreateAssignmentRequest request)
Creates an assignment object which allows the given project to submit jobs
of a certain type using slots from the specified reservation.
Currently a
resource (project, folder, organization) can only have one assignment per
each (job_type, location) combination, and that reservation will be used
for all jobs of the matching type.
Different assignments can be created on different levels of the
projects, folders or organization hierarchy. During query execution,
the assignment is looked up at the project, folder and organization levels
in that order. The first assignment found is applied to the query.
When creating assignments, it does not matter if other assignments exist at
higher levels.
Example:
- The organization
organizationA
contains two projects, project1
and project2
.
- Assignments for all three entities (
organizationA
, project1
, and
project2
) could all be created and mapped to the same or different
reservations.
"None" assignments represent an absence of the assignment. Projects
assigned to None use on-demand pricing. To create a "None" assignment, use
"none" as a reservation_id in the parent. Example parent:
projects/myproject/locations/US/reservations/none
.
Returns google.rpc.Code.PERMISSION_DENIED
if user does not have
'bigquery.admin' permissions on the project using the reservation
and the project that owns this reservation.
Returns google.rpc.Code.INVALID_ARGUMENT
when location of the assignment
does not match location of the reservation.
Parameter
Returns
createCapacityCommitment(CreateCapacityCommitmentRequest request)
public CapacityCommitment createCapacityCommitment(CreateCapacityCommitmentRequest request)
Creates a new capacity commitment resource.
Parameter
Returns
createReservation(CreateReservationRequest request)
public Reservation createReservation(CreateReservationRequest request)
Creates a new reservation resource.
Parameter
Returns
deleteAssignment(DeleteAssignmentRequest request)
public Empty deleteAssignment(DeleteAssignmentRequest request)
Deletes a assignment. No expansion will happen.
Example:
- Organization
organizationA
contains two projects, project1
and
project2
.
- Reservation
res1
exists and was created previously.
- CreateAssignment was used previously to define the following
associations between entities and reservations:
<organizationA, res1>
and <project1, res1>
In this example, deletion of the <organizationA, res1>
assignment won't
affect the other assignment <project1, res1>
. After said deletion,
queries from project1
will still use res1
while queries from
project2
will switch to use on-demand mode.
Parameter
Returns
deleteCapacityCommitment(DeleteCapacityCommitmentRequest request)
public Empty deleteCapacityCommitment(DeleteCapacityCommitmentRequest request)
Deletes a capacity commitment. Attempting to delete capacity commitment
before its commitment_end_time will fail with the error code
google.rpc.Code.FAILED_PRECONDITION
.
Parameter
Returns
deleteReservation(DeleteReservationRequest request)
public Empty deleteReservation(DeleteReservationRequest request)
Deletes a reservation.
Returns google.rpc.Code.FAILED_PRECONDITION
when reservation has
assignments.
Parameter
Returns
getBiReservation(GetBiReservationRequest request)
public BiReservation getBiReservation(GetBiReservationRequest request)
Retrieves a BI reservation.
Parameter
Returns
getCapacityCommitment(GetCapacityCommitmentRequest request)
public CapacityCommitment getCapacityCommitment(GetCapacityCommitmentRequest request)
Returns information about the capacity commitment.
Parameter
Returns
getReservation(GetReservationRequest request)
public Reservation getReservation(GetReservationRequest request)
Returns information about the reservation.
Parameter
Returns
listAssignments(ListAssignmentsRequest request)
public ListAssignmentsResponse listAssignments(ListAssignmentsRequest request)
Lists assignments.
Only explicitly created assignments will be returned.
Example:
- Organization
organizationA
contains two projects, project1
and
project2
.
- Reservation
res1
exists and was created previously.
- CreateAssignment was used previously to define the following
associations between entities and reservations:
<organizationA, res1>
and <project1, res1>
In this example, ListAssignments will just return the above two assignments
for reservation res1
, and no expansion/merge will happen.
The wildcard "-" can be used for
reservations in the request. In that case all assignments belongs to the
specified project and location will be listed.
Note "-" cannot be used for projects nor locations.
Parameter
Returns
listCapacityCommitments(ListCapacityCommitmentsRequest request)
public ListCapacityCommitmentsResponse listCapacityCommitments(ListCapacityCommitmentsRequest request)
Lists all the capacity commitments for the admin project.
Parameter
Returns
listReservations(ListReservationsRequest request)
public ListReservationsResponse listReservations(ListReservationsRequest request)
Lists all the reservations for the project in the specified location.
Parameter
Returns
mergeCapacityCommitments(MergeCapacityCommitmentsRequest request)
public CapacityCommitment mergeCapacityCommitments(MergeCapacityCommitmentsRequest request)
Merges capacity commitments of the same plan into a single commitment.
The resulting capacity commitment has the greater commitment_end_time
out of the to-be-merged capacity commitments.
Attempting to merge capacity commitments of different plan will fail
with the error code google.rpc.Code.FAILED_PRECONDITION
.
Parameter
Returns
moveAssignment(MoveAssignmentRequest request)
public Assignment moveAssignment(MoveAssignmentRequest request)
Moves an assignment under a new reservation.
This differs from removing an existing assignment and recreating a new one
by providing a transactional change that ensures an assignee always has an
associated reservation.
Parameter
Returns
searchAllAssignments(SearchAllAssignmentsRequest request)
public SearchAllAssignmentsResponse searchAllAssignments(SearchAllAssignmentsRequest request)
Looks up assignments for a specified resource for a particular region.
If the request is about a project:
- Assignments created on the project will be returned if they exist.
- Otherwise assignments created on the closest ancestor will be
returned.
- Assignments for different JobTypes will all be returned.
The same logic applies if the request is about a folder.
If the request is about an organization, then assignments created on the
organization will be returned (organization doesn't have ancestors).
Comparing to ListAssignments, there are some behavior
differences:
- permission on the assignee will be verified in this API.
- Hierarchy lookup (project->folder->organization) happens in this API.
- Parent here is
projects/*/locations/*
, instead of
projects/*/locations/*reservations/*
.
Parameter
Returns
searchAssignments(SearchAssignmentsRequest request)
public SearchAssignmentsResponse searchAssignments(SearchAssignmentsRequest request)
Deprecated: Looks up assignments for a specified resource for a particular region.
If the request is about a project:
- Assignments created on the project will be returned if they exist.
- Otherwise assignments created on the closest ancestor will be
returned.
- Assignments for different JobTypes will all be returned.
The same logic applies if the request is about a folder.
If the request is about an organization, then assignments created on the
organization will be returned (organization doesn't have ancestors).
Comparing to ListAssignments, there are some behavior
differences:
- permission on the assignee will be verified in this API.
- Hierarchy lookup (project->folder->organization) happens in this API.
- Parent here is
projects/*/locations/*
, instead of
projects/*/locations/*reservations/*
.
Note "-" cannot be used for projects
nor locations.
Parameter
Returns
splitCapacityCommitment(SplitCapacityCommitmentRequest request)
public SplitCapacityCommitmentResponse splitCapacityCommitment(SplitCapacityCommitmentRequest request)
Splits capacity commitment to two commitments of the same plan and
commitment_end_time
.
A common use case is to enable downgrading commitments.
For example, in order to downgrade from 10000 slots to 8000, you might
split a 10000 capacity commitment into commitments of 2000 and 8000. Then,
you would change the plan of the first one to FLEX
and then delete it.
Parameter
Returns
updateBiReservation(UpdateBiReservationRequest request)
public BiReservation updateBiReservation(UpdateBiReservationRequest request)
Updates a BI reservation.
Only fields specified in the field_mask
are updated.
A singleton BI reservation always exists with default size 0.
In order to reserve BI capacity it needs to be updated to an amount
greater than 0. In order to release BI capacity reservation size
must be set to 0.
Parameter
Returns
updateCapacityCommitment(UpdateCapacityCommitmentRequest request)
public CapacityCommitment updateCapacityCommitment(UpdateCapacityCommitmentRequest request)
Updates an existing capacity commitment.
Only plan
and renewal_plan
fields can be updated.
Plan can only be changed to a plan of a longer commitment period.
Attempting to change to a plan with shorter commitment period will fail
with the error code google.rpc.Code.FAILED_PRECONDITION
.
Parameter
Returns
updateReservation(UpdateReservationRequest request)
public Reservation updateReservation(UpdateReservationRequest request)
Updates an existing reservation resource.
Parameter
Returns