Interface BigQueryWriteGrpc.AsyncService

All Known Implementing Classes:
BigQueryWriteGrpc.BigQueryWriteImplBase
Enclosing class:
BigQueryWriteGrpc

public static interface BigQueryWriteGrpc.AsyncService
 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
 
  • Method Details

    • createWriteStream

      default void createWriteStream(CreateWriteStreamRequest request, io.grpc.stub.StreamObserver<WriteStream> responseObserver)
       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.
       
    • appendRows

      default io.grpc.stub.StreamObserver<AppendRowsRequest> appendRows(io.grpc.stub.StreamObserver<AppendRowsResponse> responseObserver)
       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.
       
    • getWriteStream

      default void getWriteStream(GetWriteStreamRequest request, io.grpc.stub.StreamObserver<WriteStream> responseObserver)
       Gets information about a write stream.
       
    • finalizeWriteStream

      default void finalizeWriteStream(FinalizeWriteStreamRequest request, io.grpc.stub.StreamObserver<FinalizeWriteStreamResponse> responseObserver)
       Finalize a write stream so that no new data can be appended to the
       stream. Finalize is not supported on the '_default' stream.
       
    • batchCommitWriteStreams

      default void batchCommitWriteStreams(BatchCommitWriteStreamsRequest request, io.grpc.stub.StreamObserver<BatchCommitWriteStreamsResponse> responseObserver)
       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.
       
    • flushRows

      default void flushRows(FlushRowsRequest request, io.grpc.stub.StreamObserver<FlushRowsResponse> responseObserver)
       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.