Class v2.BigtableClient (3.7.0)

Service for reading from and writing to existing Bigtable tables. v2

Package

@google-cloud/bigtable

Constructors

(constructor)(opts)

constructor(opts?: ClientOptions);

Construct an instance of BigtableClient.

Parameter
NameDescription
opts ClientOptions

Properties

apiEndpoint

static get apiEndpoint(): string;

The DNS address for this API service - same as servicePath(), exists for compatibility reasons.

auth

auth: gax.GoogleAuth;

bigtableStub

bigtableStub?: Promise<{
        [name: string]: Function;
    }>;

descriptors

descriptors: Descriptors;

innerApiCalls

innerApiCalls: {
        [name: string]: Function;
    };

pathTemplates

pathTemplates: {
        [name: string]: gax.PathTemplate;
    };

port

static get port(): number;

The port for this API service.

scopes

static get scopes(): string[];

The scopes needed to make gRPC calls for every method defined in this service.

servicePath

static get servicePath(): string;

The DNS address for this API service.

warn

warn: (code: string, message: string, warnType?: string) => void;

Methods

checkAndMutateRow(request, options)

checkAndMutateRow(request?: protos.google.bigtable.v2.ICheckAndMutateRowRequest, options?: CallOptions): Promise<[protos.google.bigtable.v2.ICheckAndMutateRowResponse, protos.google.bigtable.v2.ICheckAndMutateRowRequest | undefined, {} | undefined]>;

Mutates a row atomically based on the output of a predicate Reader filter.

Parameters
NameDescription
request protos.google.bigtable.v2.ICheckAndMutateRowRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[protos.google.bigtable.v2.ICheckAndMutateRowResponse, protos.google.bigtable.v2.ICheckAndMutateRowRequest | undefined, {} | undefined]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [CheckAndMutateRowResponse]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The unique name of the table to which the conditional mutation should be
   *  applied.
   *  Values are of the form
   *  `projects/

checkAndMutateRow(request, options, callback)

checkAndMutateRow(request: protos.google.bigtable.v2.ICheckAndMutateRowRequest, options: CallOptions, callback: Callback<protos.google.bigtable.v2.ICheckAndMutateRowResponse, protos.google.bigtable.v2.ICheckAndMutateRowRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.bigtable.v2.ICheckAndMutateRowRequest
options CallOptions
callback Callback<protos.google.bigtable.v2.ICheckAndMutateRowResponse, protos.google.bigtable.v2.ICheckAndMutateRowRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

checkAndMutateRow(request, callback)

checkAndMutateRow(request: protos.google.bigtable.v2.ICheckAndMutateRowRequest, callback: Callback<protos.google.bigtable.v2.ICheckAndMutateRowResponse, protos.google.bigtable.v2.ICheckAndMutateRowRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.bigtable.v2.ICheckAndMutateRowRequest
callback Callback<protos.google.bigtable.v2.ICheckAndMutateRowResponse, protos.google.bigtable.v2.ICheckAndMutateRowRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

close()

close(): Promise<void>;

Terminate the gRPC channel and close the client.

The client will no longer be usable and all future behavior is undefined.

Returns
TypeDescription
Promise<void>

{Promise} A promise that resolves when the client is closed.

getProjectId()

getProjectId(): Promise<string>;
Returns
TypeDescription
Promise<string>

getProjectId(callback)

getProjectId(callback: Callback<string, undefined, undefined>): void;
Parameter
NameDescription
callback Callback<string, undefined, undefined>
Returns
TypeDescription
void

initialize()

initialize(): Promise<{
        [name: string]: Function;
    }>;

Initialize the client. Performs asynchronous operations (such as authentication) and prepares the client. This function will be called automatically when any class method is called for the first time, but if you need to initialize it before calling an actual method, feel free to call initialize() directly.

You can await on this method if you want to make sure the client is initialized.

Returns
TypeDescription
Promise<{ [name: string]: Function; }>

{Promise} A promise that resolves to an authenticated service stub.

matchInstanceFromTableName(tableName)

matchInstanceFromTableName(tableName: string): string | number;

Parse the instance from Table resource.

Parameter
NameDescription
tableName string

A fully-qualified path representing Table resource.

Returns
TypeDescription
string | number

{string} A string representing the instance.

matchProjectFromTableName(tableName)

matchProjectFromTableName(tableName: string): string | number;

Parse the project from Table resource.

Parameter
NameDescription
tableName string

A fully-qualified path representing Table resource.

Returns
TypeDescription
string | number

{string} A string representing the project.

matchTableFromTableName(tableName)

matchTableFromTableName(tableName: string): string | number;

Parse the table from Table resource.

Parameter
NameDescription
tableName string

A fully-qualified path representing Table resource.

Returns
TypeDescription
string | number

{string} A string representing the table.

mutateRow(request, options)

mutateRow(request?: protos.google.bigtable.v2.IMutateRowRequest, options?: CallOptions): Promise<[protos.google.bigtable.v2.IMutateRowResponse, protos.google.bigtable.v2.IMutateRowRequest | undefined, {} | undefined]>;

Mutates a row atomically. Cells already present in the row are left unchanged unless explicitly changed by mutation.

Parameters
NameDescription
request protos.google.bigtable.v2.IMutateRowRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[protos.google.bigtable.v2.IMutateRowResponse, protos.google.bigtable.v2.IMutateRowRequest | undefined, {} | undefined]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [MutateRowResponse]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The unique name of the table to which the mutation should be applied.
   *  Values are of the form
   *  `projects/

mutateRow(request, options, callback)

mutateRow(request: protos.google.bigtable.v2.IMutateRowRequest, options: CallOptions, callback: Callback<protos.google.bigtable.v2.IMutateRowResponse, protos.google.bigtable.v2.IMutateRowRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.bigtable.v2.IMutateRowRequest
options CallOptions
callback Callback<protos.google.bigtable.v2.IMutateRowResponse, protos.google.bigtable.v2.IMutateRowRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

mutateRow(request, callback)

mutateRow(request: protos.google.bigtable.v2.IMutateRowRequest, callback: Callback<protos.google.bigtable.v2.IMutateRowResponse, protos.google.bigtable.v2.IMutateRowRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.bigtable.v2.IMutateRowRequest
callback Callback<protos.google.bigtable.v2.IMutateRowResponse, protos.google.bigtable.v2.IMutateRowRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

mutateRows(request, options)

mutateRows(request?: protos.google.bigtable.v2.IMutateRowsRequest, options?: CallOptions): gax.CancellableStream;

Mutates multiple rows in a batch. Each individual row is mutated atomically as in MutateRow, but the entire batch is not executed atomically.

Parameters
NameDescription
request protos.google.bigtable.v2.IMutateRowsRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
gax.CancellableStream

{Stream} An object stream which emits [MutateRowsResponse] on 'data' event. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#server-streaming) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The unique name of the table to which the mutations should be applied.
   */
  // const tableName = 'abc123'
  /**
   *  This value specifies routing for replication. If not specified, the
   *  "default" application profile will be used.
   */
  // const appProfileId = 'abc123'
  /**
   *  Required. The row keys and corresponding mutations to be applied in bulk.
   *  Each entry is applied as an atomic mutation, but the entries may be
   *  applied in arbitrary order (even between entries for the same row).
   *  At least one entry must be specified, and in total the entries can
   *  contain at most 100000 mutations.
   */
  // const entries = 1234

  // Imports the Bigtable library
  const {BigtableClient} = require('@google-cloud/bigtable').v2;

  // Instantiates a client
  const bigtableClient = new BigtableClient();

  async function callMutateRows() {
    // Construct request
    const request = {
      tableName,
      entries,
    };

    // Run request
    const stream = await bigtableClient.mutateRows(request);
    stream.on('data', response => {
      console.log(response);
    });
    stream.on('error', err => {
      throw err;
    });
    stream.on('end', () => {
      /* API call completed */
    });
  }

  callMutateRows();

readModifyWriteRow(request, options)

readModifyWriteRow(request?: protos.google.bigtable.v2.IReadModifyWriteRowRequest, options?: CallOptions): Promise<[protos.google.bigtable.v2.IReadModifyWriteRowResponse, protos.google.bigtable.v2.IReadModifyWriteRowRequest | undefined, {} | undefined]>;

Modifies a row atomically on the server. The method reads the latest existing timestamp and value from the specified columns and writes a new entry based on pre-defined read/modify/write rules. The new value for the timestamp is the greater of the existing timestamp or the current server time. The method returns the new contents of all modified cells.

Parameters
NameDescription
request protos.google.bigtable.v2.IReadModifyWriteRowRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[protos.google.bigtable.v2.IReadModifyWriteRowResponse, protos.google.bigtable.v2.IReadModifyWriteRowRequest | undefined, {} | undefined]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [ReadModifyWriteRowResponse]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The unique name of the table to which the read/modify/write rules should be
   *  applied.
   *  Values are of the form
   *  `projects/

readModifyWriteRow(request, options, callback)

readModifyWriteRow(request: protos.google.bigtable.v2.IReadModifyWriteRowRequest, options: CallOptions, callback: Callback<protos.google.bigtable.v2.IReadModifyWriteRowResponse, protos.google.bigtable.v2.IReadModifyWriteRowRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.bigtable.v2.IReadModifyWriteRowRequest
options CallOptions
callback Callback<protos.google.bigtable.v2.IReadModifyWriteRowResponse, protos.google.bigtable.v2.IReadModifyWriteRowRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

readModifyWriteRow(request, callback)

readModifyWriteRow(request: protos.google.bigtable.v2.IReadModifyWriteRowRequest, callback: Callback<protos.google.bigtable.v2.IReadModifyWriteRowResponse, protos.google.bigtable.v2.IReadModifyWriteRowRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.bigtable.v2.IReadModifyWriteRowRequest
callback Callback<protos.google.bigtable.v2.IReadModifyWriteRowResponse, protos.google.bigtable.v2.IReadModifyWriteRowRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

readRows(request, options)

readRows(request?: protos.google.bigtable.v2.IReadRowsRequest, options?: CallOptions): gax.CancellableStream;

Streams back the contents of all requested rows in key order, optionally applying the same Reader filter to each. Depending on their size, rows and cells may be broken up across multiple responses, but atomicity of each row will still be preserved. See the ReadRowsResponse documentation for details.

Parameters
NameDescription
request protos.google.bigtable.v2.IReadRowsRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
gax.CancellableStream

{Stream} An object stream which emits [ReadRowsResponse] on 'data' event. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#server-streaming) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The unique name of the table from which to read.
   *  Values are of the form
   *  `projects/

sampleRowKeys(request, options)

sampleRowKeys(request?: protos.google.bigtable.v2.ISampleRowKeysRequest, options?: CallOptions): gax.CancellableStream;

Returns a sample of row keys in the table. The returned row keys will delimit contiguous sections of the table of approximately equal size, which can be used to break up the data for distributed tasks like mapreduces.

Parameters
NameDescription
request protos.google.bigtable.v2.ISampleRowKeysRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
gax.CancellableStream

{Stream} An object stream which emits [SampleRowKeysResponse] on 'data' event. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#server-streaming) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The unique name of the table from which to sample row keys.
   *  Values are of the form
   *  `projects/

tablePath(project, instance, table)

tablePath(project: string, instance: string, table: string): string;

Return a fully-qualified table resource name string.

Parameters
NameDescription
project string
instance string
table string
Returns
TypeDescription
string

{string} Resource name string.