Class BigQueryWriteClient

java.lang.Object
com.google.cloud.bigquery.storage.v1.BigQueryWriteClient
All Implemented Interfaces:
com.google.api.gax.core.BackgroundResource, AutoCloseable

@Generated("by gapic-generator-java") public class BigQueryWriteClient extends Object implements com.google.api.gax.core.BackgroundResource
Service Description: BigQuery Write API.

The Write API can be used to write data to BigQuery.

For supplementary information about the Write API, see: https://cloud.google.com/bigquery/docs/write-api

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
   TableName parent = TableName.of("[PROJECT]", "[DATASET]", "[TABLE]");
   WriteStream writeStream = WriteStream.newBuilder().build();
   WriteStream response = bigQueryWriteClient.createWriteStream(parent, writeStream);
 }
 

Note: close() needs to be called on the BigQueryWriteClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of BigQueryWriteSettings to create(). For example:

To customize credentials:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 BigQueryWriteSettings bigQueryWriteSettings =
     BigQueryWriteSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create(bigQueryWriteSettings);
 

To customize the endpoint:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 BigQueryWriteSettings bigQueryWriteSettings =
     BigQueryWriteSettings.newBuilder().setEndpoint(myEndpoint).build();
 BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create(bigQueryWriteSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

  • Constructor Details

    • BigQueryWriteClient

      protected BigQueryWriteClient(BigQueryWriteSettings settings) throws IOException
      Constructs an instance of BigQueryWriteClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
      Throws:
      IOException
    • BigQueryWriteClient

      protected BigQueryWriteClient(BigQueryWriteStub stub)
  • Method Details

    • create

      public static final BigQueryWriteClient create() throws IOException
      Constructs an instance of BigQueryWriteClient with default settings.
      Throws:
      IOException
    • create

      public static final BigQueryWriteClient create(BigQueryWriteSettings settings) throws IOException
      Constructs an instance of BigQueryWriteClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
      Throws:
      IOException
    • create

      public static final BigQueryWriteClient create(BigQueryWriteStub stub)
      Constructs an instance of BigQueryWriteClient, using the given stub for making calls. This is for advanced usage - prefer using create(BigQueryWriteSettings).
    • getSettings

      public final BigQueryWriteSettings getSettings()
    • getStub

      public BigQueryWriteStub getStub()
    • createWriteStream

      public final WriteStream createWriteStream(TableName parent, WriteStream writeStream)
      Creates a write stream to the given table. Additionally, every table has a special stream named '_default' to which data can be written. This stream doesn't need to be created using CreateWriteStream. It is a stream that can be used simultaneously by any number of clients. Data written to this stream is considered committed as soon as an acknowledgement is received.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         TableName parent = TableName.of("[PROJECT]", "[DATASET]", "[TABLE]");
         WriteStream writeStream = WriteStream.newBuilder().build();
         WriteStream response = bigQueryWriteClient.createWriteStream(parent, writeStream);
       }
       
      Parameters:
      parent - Required. Reference to the table to which the stream belongs, in the format of `projects/{project}/datasets/{dataset}/tables/{table}`.
      writeStream - Required. Stream to be created.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • createWriteStream

      public final WriteStream createWriteStream(String parent, WriteStream writeStream)
      Creates a write stream to the given table. Additionally, every table has a special stream named '_default' to which data can be written. This stream doesn't need to be created using CreateWriteStream. It is a stream that can be used simultaneously by any number of clients. Data written to this stream is considered committed as soon as an acknowledgement is received.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         String parent = TableName.of("[PROJECT]", "[DATASET]", "[TABLE]").toString();
         WriteStream writeStream = WriteStream.newBuilder().build();
         WriteStream response = bigQueryWriteClient.createWriteStream(parent, writeStream);
       }
       
      Parameters:
      parent - Required. Reference to the table to which the stream belongs, in the format of `projects/{project}/datasets/{dataset}/tables/{table}`.
      writeStream - Required. Stream to be created.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • createWriteStream

      public final WriteStream createWriteStream(CreateWriteStreamRequest request)
      Creates a write stream to the given table. Additionally, every table has a special stream named '_default' to which data can be written. This stream doesn't need to be created using CreateWriteStream. It is a stream that can be used simultaneously by any number of clients. Data written to this stream is considered committed as soon as an acknowledgement is received.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         CreateWriteStreamRequest request =
             CreateWriteStreamRequest.newBuilder()
                 .setParent(TableName.of("[PROJECT]", "[DATASET]", "[TABLE]").toString())
                 .setWriteStream(WriteStream.newBuilder().build())
                 .build();
         WriteStream response = bigQueryWriteClient.createWriteStream(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • createWriteStreamCallable

      public final com.google.api.gax.rpc.UnaryCallable<CreateWriteStreamRequest,WriteStream> createWriteStreamCallable()
      Creates a write stream to the given table. Additionally, every table has a special stream named '_default' to which data can be written. This stream doesn't need to be created using CreateWriteStream. It is a stream that can be used simultaneously by any number of clients. Data written to this stream is considered committed as soon as an acknowledgement is received.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         CreateWriteStreamRequest request =
             CreateWriteStreamRequest.newBuilder()
                 .setParent(TableName.of("[PROJECT]", "[DATASET]", "[TABLE]").toString())
                 .setWriteStream(WriteStream.newBuilder().build())
                 .build();
         ApiFuture<WriteStream> future =
             bigQueryWriteClient.createWriteStreamCallable().futureCall(request);
         // Do something.
         WriteStream response = future.get();
       }
       
    • appendRowsCallable

      public final com.google.api.gax.rpc.BidiStreamingCallable<AppendRowsRequest,AppendRowsResponse> appendRowsCallable()
      Appends data to the given stream.

      If `offset` is specified, the `offset` is checked against the end of stream. The server returns `OUT_OF_RANGE` in `AppendRowsResponse` if an attempt is made to append to an offset beyond the current end of the stream or `ALREADY_EXISTS` if user provides an `offset` that has already been written to. User can retry with adjusted offset within the same RPC connection. If `offset` is not specified, append happens at the end of the stream.

      The response contains an optional offset at which the append happened. No offset information will be returned for appends to a default stream.

      Responses are received in the same order in which requests are sent. There will be one response for each successful inserted request. Responses may optionally embed error information if the originating AppendRequest was not successfully processed.

      The specifics of when successfully appended data is made visible to the table are governed by the type of stream:

      • For COMMITTED streams (which includes the default stream), data is visible immediately upon successful append.
      • For BUFFERED streams, data is made visible via a subsequent `FlushRows` rpc which advances a cursor to a newer offset in the stream.
      • For PENDING streams, data is not made visible until the stream itself is finalized (via the `FinalizeWriteStream` rpc), and the stream is explicitly committed via the `BatchCommitWriteStreams` rpc.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         BidiStream<AppendRowsRequest, AppendRowsResponse> bidiStream =
             bigQueryWriteClient.appendRowsCallable().call();
         AppendRowsRequest request =
             AppendRowsRequest.newBuilder()
                 .setWriteStream(
                     WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]").toString())
                 .setOffset(Int64Value.newBuilder().build())
                 .setTraceId("traceId-1067401920")
                 .putAllMissingValueInterpretations(
                     new HashMap<String, AppendRowsRequest.MissingValueInterpretation>())
                 .build();
         bidiStream.send(request);
         for (AppendRowsResponse response : bidiStream) {
           // Do something when a response is received.
         }
       }
       
    • getWriteStream

      public final WriteStream getWriteStream(WriteStreamName name)
      Gets information about a write stream.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         WriteStreamName name = WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]");
         WriteStream response = bigQueryWriteClient.getWriteStream(name);
       }
       
      Parameters:
      name - Required. Name of the stream to get, in the form of `projects/{project}/datasets/{dataset}/tables/{table}/streams/{stream}`.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getWriteStream

      public final WriteStream getWriteStream(String name)
      Gets information about a write stream.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         String name = WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]").toString();
         WriteStream response = bigQueryWriteClient.getWriteStream(name);
       }
       
      Parameters:
      name - Required. Name of the stream to get, in the form of `projects/{project}/datasets/{dataset}/tables/{table}/streams/{stream}`.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getWriteStream

      public final WriteStream getWriteStream(GetWriteStreamRequest request)
      Gets information about a write stream.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         GetWriteStreamRequest request =
             GetWriteStreamRequest.newBuilder()
                 .setName(
                     WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]").toString())
                 .setView(WriteStreamView.forNumber(0))
                 .build();
         WriteStream response = bigQueryWriteClient.getWriteStream(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getWriteStreamCallable

      public final com.google.api.gax.rpc.UnaryCallable<GetWriteStreamRequest,WriteStream> getWriteStreamCallable()
      Gets information about a write stream.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         GetWriteStreamRequest request =
             GetWriteStreamRequest.newBuilder()
                 .setName(
                     WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]").toString())
                 .setView(WriteStreamView.forNumber(0))
                 .build();
         ApiFuture<WriteStream> future =
             bigQueryWriteClient.getWriteStreamCallable().futureCall(request);
         // Do something.
         WriteStream response = future.get();
       }
       
    • finalizeWriteStream

      public final FinalizeWriteStreamResponse finalizeWriteStream(WriteStreamName name)
      Finalize a write stream so that no new data can be appended to the stream. Finalize is not supported on the '_default' stream.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         WriteStreamName name = WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]");
         FinalizeWriteStreamResponse response = bigQueryWriteClient.finalizeWriteStream(name);
       }
       
      Parameters:
      name - Required. Name of the stream to finalize, in the form of `projects/{project}/datasets/{dataset}/tables/{table}/streams/{stream}`.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • finalizeWriteStream

      public final FinalizeWriteStreamResponse finalizeWriteStream(String name)
      Finalize a write stream so that no new data can be appended to the stream. Finalize is not supported on the '_default' stream.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         String name = WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]").toString();
         FinalizeWriteStreamResponse response = bigQueryWriteClient.finalizeWriteStream(name);
       }
       
      Parameters:
      name - Required. Name of the stream to finalize, in the form of `projects/{project}/datasets/{dataset}/tables/{table}/streams/{stream}`.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • finalizeWriteStream

      public final FinalizeWriteStreamResponse finalizeWriteStream(FinalizeWriteStreamRequest request)
      Finalize a write stream so that no new data can be appended to the stream. Finalize is not supported on the '_default' stream.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         FinalizeWriteStreamRequest request =
             FinalizeWriteStreamRequest.newBuilder()
                 .setName(
                     WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]").toString())
                 .build();
         FinalizeWriteStreamResponse response = bigQueryWriteClient.finalizeWriteStream(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • finalizeWriteStreamCallable

      public final com.google.api.gax.rpc.UnaryCallable<FinalizeWriteStreamRequest,FinalizeWriteStreamResponse> finalizeWriteStreamCallable()
      Finalize a write stream so that no new data can be appended to the stream. Finalize is not supported on the '_default' stream.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         FinalizeWriteStreamRequest request =
             FinalizeWriteStreamRequest.newBuilder()
                 .setName(
                     WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]").toString())
                 .build();
         ApiFuture<FinalizeWriteStreamResponse> future =
             bigQueryWriteClient.finalizeWriteStreamCallable().futureCall(request);
         // Do something.
         FinalizeWriteStreamResponse response = future.get();
       }
       
    • batchCommitWriteStreams

      public final BatchCommitWriteStreamsResponse batchCommitWriteStreams(TableName parent)
      Atomically commits a group of `PENDING` streams that belong to the same `parent` table.

      Streams must be finalized before commit and cannot be committed multiple times. Once a stream is committed, data in the stream becomes available for read operations.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         TableName parent = TableName.of("[PROJECT]", "[DATASET]", "[TABLE]");
         BatchCommitWriteStreamsResponse response =
             bigQueryWriteClient.batchCommitWriteStreams(parent);
       }
       
      Parameters:
      parent - Required. Parent table that all the streams should belong to, in the form of `projects/{project}/datasets/{dataset}/tables/{table}`.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • batchCommitWriteStreams

      public final BatchCommitWriteStreamsResponse batchCommitWriteStreams(String parent)
      Atomically commits a group of `PENDING` streams that belong to the same `parent` table.

      Streams must be finalized before commit and cannot be committed multiple times. Once a stream is committed, data in the stream becomes available for read operations.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         String parent = TableName.of("[PROJECT]", "[DATASET]", "[TABLE]").toString();
         BatchCommitWriteStreamsResponse response =
             bigQueryWriteClient.batchCommitWriteStreams(parent);
       }
       
      Parameters:
      parent - Required. Parent table that all the streams should belong to, in the form of `projects/{project}/datasets/{dataset}/tables/{table}`.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • batchCommitWriteStreams

      public final BatchCommitWriteStreamsResponse batchCommitWriteStreams(BatchCommitWriteStreamsRequest request)
      Atomically commits a group of `PENDING` streams that belong to the same `parent` table.

      Streams must be finalized before commit and cannot be committed multiple times. Once a stream is committed, data in the stream becomes available for read operations.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         BatchCommitWriteStreamsRequest request =
             BatchCommitWriteStreamsRequest.newBuilder()
                 .setParent(TableName.of("[PROJECT]", "[DATASET]", "[TABLE]").toString())
                 .addAllWriteStreams(new ArrayList<String>())
                 .build();
         BatchCommitWriteStreamsResponse response =
             bigQueryWriteClient.batchCommitWriteStreams(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • batchCommitWriteStreamsCallable

      public final com.google.api.gax.rpc.UnaryCallable<BatchCommitWriteStreamsRequest,BatchCommitWriteStreamsResponse> batchCommitWriteStreamsCallable()
      Atomically commits a group of `PENDING` streams that belong to the same `parent` table.

      Streams must be finalized before commit and cannot be committed multiple times. Once a stream is committed, data in the stream becomes available for read operations.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         BatchCommitWriteStreamsRequest request =
             BatchCommitWriteStreamsRequest.newBuilder()
                 .setParent(TableName.of("[PROJECT]", "[DATASET]", "[TABLE]").toString())
                 .addAllWriteStreams(new ArrayList<String>())
                 .build();
         ApiFuture<BatchCommitWriteStreamsResponse> future =
             bigQueryWriteClient.batchCommitWriteStreamsCallable().futureCall(request);
         // Do something.
         BatchCommitWriteStreamsResponse response = future.get();
       }
       
    • flushRows

      public final FlushRowsResponse flushRows(WriteStreamName writeStream)
      Flushes rows to a BUFFERED stream.

      If users are appending rows to BUFFERED stream, flush operation is required in order for the rows to become available for reading. A Flush operation flushes up to any previously flushed offset in a BUFFERED stream, to the offset specified in the request.

      Flush is not supported on the _default stream, since it is not BUFFERED.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         WriteStreamName writeStream =
             WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]");
         FlushRowsResponse response = bigQueryWriteClient.flushRows(writeStream);
       }
       
      Parameters:
      writeStream - Required. The stream that is the target of the flush operation.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • flushRows

      public final FlushRowsResponse flushRows(String writeStream)
      Flushes rows to a BUFFERED stream.

      If users are appending rows to BUFFERED stream, flush operation is required in order for the rows to become available for reading. A Flush operation flushes up to any previously flushed offset in a BUFFERED stream, to the offset specified in the request.

      Flush is not supported on the _default stream, since it is not BUFFERED.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         String writeStream =
             WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]").toString();
         FlushRowsResponse response = bigQueryWriteClient.flushRows(writeStream);
       }
       
      Parameters:
      writeStream - Required. The stream that is the target of the flush operation.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • flushRows

      public final FlushRowsResponse flushRows(FlushRowsRequest request)
      Flushes rows to a BUFFERED stream.

      If users are appending rows to BUFFERED stream, flush operation is required in order for the rows to become available for reading. A Flush operation flushes up to any previously flushed offset in a BUFFERED stream, to the offset specified in the request.

      Flush is not supported on the _default stream, since it is not BUFFERED.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         FlushRowsRequest request =
             FlushRowsRequest.newBuilder()
                 .setWriteStream(
                     WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]").toString())
                 .setOffset(Int64Value.newBuilder().build())
                 .build();
         FlushRowsResponse response = bigQueryWriteClient.flushRows(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • flushRowsCallable

      public final com.google.api.gax.rpc.UnaryCallable<FlushRowsRequest,FlushRowsResponse> flushRowsCallable()
      Flushes rows to a BUFFERED stream.

      If users are appending rows to BUFFERED stream, flush operation is required in order for the rows to become available for reading. A Flush operation flushes up to any previously flushed offset in a BUFFERED stream, to the offset specified in the request.

      Flush is not supported on the _default stream, since it is not BUFFERED.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
         FlushRowsRequest request =
             FlushRowsRequest.newBuilder()
                 .setWriteStream(
                     WriteStreamName.of("[PROJECT]", "[DATASET]", "[TABLE]", "[STREAM]").toString())
                 .setOffset(Int64Value.newBuilder().build())
                 .build();
         ApiFuture<FlushRowsResponse> future =
             bigQueryWriteClient.flushRowsCallable().futureCall(request);
         // Do something.
         FlushRowsResponse response = future.get();
       }
       
    • close

      public final void close()
      Specified by:
      close in interface AutoCloseable
    • shutdown

      public void shutdown()
      Specified by:
      shutdown in interface com.google.api.gax.core.BackgroundResource
    • isShutdown

      public boolean isShutdown()
      Specified by:
      isShutdown in interface com.google.api.gax.core.BackgroundResource
    • isTerminated

      public boolean isTerminated()
      Specified by:
      isTerminated in interface com.google.api.gax.core.BackgroundResource
    • shutdownNow

      public void shutdownNow()
      Specified by:
      shutdownNow in interface com.google.api.gax.core.BackgroundResource
    • awaitTermination

      public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException
      Specified by:
      awaitTermination in interface com.google.api.gax.core.BackgroundResource
      Throws:
      InterruptedException