Class v2.CatalogServiceClient (2.0.0)

Service for managing catalog configuration. v2

Package

@google-cloud/retail

Constructors

(constructor)(opts)

constructor(opts?: ClientOptions);

Construct an instance of CatalogServiceClient.

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;

catalogServiceStub

catalogServiceStub?: 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

branchPath(project, location, catalog, branch)

branchPath(project: string, location: string, catalog: string, branch: string): string;

Return a fully-qualified branch resource name string.

Parameters
NameDescription
project string
location string
catalog string
branch string
Returns
TypeDescription
string

{string} Resource name string.

catalogPath(project, location, catalog)

catalogPath(project: string, location: string, catalog: string): string;

Return a fully-qualified catalog resource name string.

Parameters
NameDescription
project string
location string
catalog string
Returns
TypeDescription
string

{string} Resource name string.

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.

getDefaultBranch(request, options)

getDefaultBranch(request?: protos.google.cloud.retail.v2.IGetDefaultBranchRequest, options?: CallOptions): Promise<[
        protos.google.cloud.retail.v2.IGetDefaultBranchResponse,
        protos.google.cloud.retail.v2.IGetDefaultBranchRequest | undefined,
        {} | undefined
    ]>;

Get which branch is currently default branch set by method under a specified parent catalog.

Parameters
NameDescription
request protos.google.cloud.retail.v2.IGetDefaultBranchRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ protos.google.cloud.retail.v2.IGetDefaultBranchResponse, protos.google.cloud.retail.v2.IGetDefaultBranchRequest | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [GetDefaultBranchResponse]. 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.
   */
  /**
   *  The parent catalog resource name, such as
   *  `projects/* /locations/global/catalogs/default_catalog`.
   */
  // const catalog = 'abc123'

  // Imports the Retail library
  const {CatalogServiceClient} = require('@google-cloud/retail').v2;

  // Instantiates a client
  const retailClient = new CatalogServiceClient();

  async function callGetDefaultBranch() {
    // Construct request
    const request = {
    };

    // Run request
    const response = await retailClient.getDefaultBranch(request);
    console.log(response);
  }

  callGetDefaultBranch();

getDefaultBranch(request, options, callback)

getDefaultBranch(request: protos.google.cloud.retail.v2.IGetDefaultBranchRequest, options: CallOptions, callback: Callback<protos.google.cloud.retail.v2.IGetDefaultBranchResponse, protos.google.cloud.retail.v2.IGetDefaultBranchRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2.IGetDefaultBranchRequest
options CallOptions
callback Callback<protos.google.cloud.retail.v2.IGetDefaultBranchResponse, protos.google.cloud.retail.v2.IGetDefaultBranchRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

getDefaultBranch(request, callback)

getDefaultBranch(request: protos.google.cloud.retail.v2.IGetDefaultBranchRequest, callback: Callback<protos.google.cloud.retail.v2.IGetDefaultBranchResponse, protos.google.cloud.retail.v2.IGetDefaultBranchRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2.IGetDefaultBranchRequest
callback Callback<protos.google.cloud.retail.v2.IGetDefaultBranchResponse, protos.google.cloud.retail.v2.IGetDefaultBranchRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

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.

listCatalogs(request, options)

listCatalogs(request?: protos.google.cloud.retail.v2.IListCatalogsRequest, options?: CallOptions): Promise<[
        protos.google.cloud.retail.v2.ICatalog[],
        protos.google.cloud.retail.v2.IListCatalogsRequest | null,
        protos.google.cloud.retail.v2.IListCatalogsResponse
    ]>;

Lists all the s associated with the project.

Parameters
NameDescription
request protos.google.cloud.retail.v2.IListCatalogsRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ protos.google.cloud.retail.v2.ICatalog[], protos.google.cloud.retail.v2.IListCatalogsRequest | null, protos.google.cloud.retail.v2.IListCatalogsResponse ]>

{Promise} - The promise which resolves to an array. The first element of the array is Array of [Catalog]. The client library will perform auto-pagination by default: it will call the API as many times as needed and will merge results from all the pages into this array. Note that it can affect your quota. We recommend using listCatalogsAsync() method described below for async iteration which you can stop as needed. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

listCatalogs(request, options, callback)

listCatalogs(request: protos.google.cloud.retail.v2.IListCatalogsRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.retail.v2.IListCatalogsRequest, protos.google.cloud.retail.v2.IListCatalogsResponse | null | undefined, protos.google.cloud.retail.v2.ICatalog>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2.IListCatalogsRequest
options CallOptions
callback PaginationCallback<protos.google.cloud.retail.v2.IListCatalogsRequest, protos.google.cloud.retail.v2.IListCatalogsResponse | null | undefined, protos.google.cloud.retail.v2.ICatalog>
Returns
TypeDescription
void

listCatalogs(request, callback)

listCatalogs(request: protos.google.cloud.retail.v2.IListCatalogsRequest, callback: PaginationCallback<protos.google.cloud.retail.v2.IListCatalogsRequest, protos.google.cloud.retail.v2.IListCatalogsResponse | null | undefined, protos.google.cloud.retail.v2.ICatalog>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2.IListCatalogsRequest
callback PaginationCallback<protos.google.cloud.retail.v2.IListCatalogsRequest, protos.google.cloud.retail.v2.IListCatalogsResponse | null | undefined, protos.google.cloud.retail.v2.ICatalog>
Returns
TypeDescription
void

listCatalogsAsync(request, options)

listCatalogsAsync(request?: protos.google.cloud.retail.v2.IListCatalogsRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.retail.v2.ICatalog>;

Equivalent to listCatalogs, but returns an iterable object.

for-await-of syntax is used with the iterable to get response elements on-demand.

Parameters
NameDescription
request protos.google.cloud.retail.v2.IListCatalogsRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
AsyncIterable<protos.google.cloud.retail.v2.ICatalog>

{Object} An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). When you iterate the returned iterable, each element will be an object representing [Catalog]. The API will be called under the hood as needed, once per the page, so you can stop the iteration when you don't need more results. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The account resource name with an associated location.
   *  If the caller does not have permission to list
   *  Catalog google.cloud.retail.v2.Catalog s under this location, regardless
   *  of whether or not this location exists, a PERMISSION_DENIED error is
   *  returned.
   */
  // const parent = 'abc123'
  /**
   *  Maximum number of Catalog google.cloud.retail.v2.Catalog s to return. If
   *  unspecified, defaults to 50. The maximum allowed value is 1000. Values
   *  above 1000 will be coerced to 1000.
   *  If this field is negative, an INVALID_ARGUMENT is returned.
   */
  // const pageSize = 1234
  /**
   *  A page token
   *  ListCatalogsResponse.next_page_token google.cloud.retail.v2.ListCatalogsResponse.next_page_token,
   *  received from a previous
   *  CatalogService.ListCatalogs google.cloud.retail.v2.CatalogService.ListCatalogs 
   *  call. Provide this to retrieve the subsequent page.
   *  When paginating, all other parameters provided to
   *  CatalogService.ListCatalogs google.cloud.retail.v2.CatalogService.ListCatalogs 
   *  must match the call that provided the page token. Otherwise, an
   *  INVALID_ARGUMENT error is returned.
   */
  // const pageToken = 'abc123'

  // Imports the Retail library
  const {CatalogServiceClient} = require('@google-cloud/retail').v2;

  // Instantiates a client
  const retailClient = new CatalogServiceClient();

  async function callListCatalogs() {
    // Construct request
    const request = {
      parent,
    };

    // Run request
    const iterable = await retailClient.listCatalogsAsync(request);
    for await (const response of iterable) {
        console.log(response);
    }
  }

  callListCatalogs();

listCatalogsStream(request, options)

listCatalogsStream(request?: protos.google.cloud.retail.v2.IListCatalogsRequest, options?: CallOptions): Transform;

Equivalent to method.name.toCamelCase(), but returns a NodeJS Stream object.

Parameters
NameDescription
request protos.google.cloud.retail.v2.IListCatalogsRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Transform

{Stream} An object stream which emits an object representing [Catalog] on 'data' event. The client library will perform auto-pagination by default: it will call the API as many times as needed. Note that it can affect your quota. We recommend using listCatalogsAsync() method described below for async iteration which you can stop as needed. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

locationPath(project, location)

locationPath(project: string, location: string): string;

Return a fully-qualified location resource name string.

Parameters
NameDescription
project string
location string
Returns
TypeDescription
string

{string} Resource name string.

matchBranchFromBranchName(branchName)

matchBranchFromBranchName(branchName: string): string | number;

Parse the branch from Branch resource.

Parameter
NameDescription
branchName string

A fully-qualified path representing Branch resource.

Returns
TypeDescription
string | number

{string} A string representing the branch.

matchBranchFromProductName(productName)

matchBranchFromProductName(productName: string): string | number;

Parse the branch from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the branch.

matchCatalogFromBranchName(branchName)

matchCatalogFromBranchName(branchName: string): string | number;

Parse the catalog from Branch resource.

Parameter
NameDescription
branchName string

A fully-qualified path representing Branch resource.

Returns
TypeDescription
string | number

{string} A string representing the catalog.

matchCatalogFromCatalogName(catalogName)

matchCatalogFromCatalogName(catalogName: string): string | number;

Parse the catalog from Catalog resource.

Parameter
NameDescription
catalogName string

A fully-qualified path representing Catalog resource.

Returns
TypeDescription
string | number

{string} A string representing the catalog.

matchCatalogFromProductName(productName)

matchCatalogFromProductName(productName: string): string | number;

Parse the catalog from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the catalog.

matchLocationFromBranchName(branchName)

matchLocationFromBranchName(branchName: string): string | number;

Parse the location from Branch resource.

Parameter
NameDescription
branchName string

A fully-qualified path representing Branch resource.

Returns
TypeDescription
string | number

{string} A string representing the location.

matchLocationFromCatalogName(catalogName)

matchLocationFromCatalogName(catalogName: string): string | number;

Parse the location from Catalog resource.

Parameter
NameDescription
catalogName string

A fully-qualified path representing Catalog resource.

Returns
TypeDescription
string | number

{string} A string representing the location.

matchLocationFromLocationName(locationName)

matchLocationFromLocationName(locationName: string): string | number;

Parse the location from Location resource.

Parameter
NameDescription
locationName string

A fully-qualified path representing Location resource.

Returns
TypeDescription
string | number

{string} A string representing the location.

matchLocationFromProductName(productName)

matchLocationFromProductName(productName: string): string | number;

Parse the location from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the location.

matchProductFromProductName(productName)

matchProductFromProductName(productName: string): string | number;

Parse the product from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the product.

matchProjectFromBranchName(branchName)

matchProjectFromBranchName(branchName: string): string | number;

Parse the project from Branch resource.

Parameter
NameDescription
branchName string

A fully-qualified path representing Branch resource.

Returns
TypeDescription
string | number

{string} A string representing the project.

matchProjectFromCatalogName(catalogName)

matchProjectFromCatalogName(catalogName: string): string | number;

Parse the project from Catalog resource.

Parameter
NameDescription
catalogName string

A fully-qualified path representing Catalog resource.

Returns
TypeDescription
string | number

{string} A string representing the project.

matchProjectFromLocationName(locationName)

matchProjectFromLocationName(locationName: string): string | number;

Parse the project from Location resource.

Parameter
NameDescription
locationName string

A fully-qualified path representing Location resource.

Returns
TypeDescription
string | number

{string} A string representing the project.

matchProjectFromProductName(productName)

matchProjectFromProductName(productName: string): string | number;

Parse the project from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the project.

productPath(project, location, catalog, branch, product)

productPath(project: string, location: string, catalog: string, branch: string, product: string): string;

Return a fully-qualified product resource name string.

Parameters
NameDescription
project string
location string
catalog string
branch string
product string
Returns
TypeDescription
string

{string} Resource name string.

setDefaultBranch(request, options)

setDefaultBranch(request?: protos.google.cloud.retail.v2.ISetDefaultBranchRequest, options?: CallOptions): Promise<[
        protos.google.protobuf.IEmpty,
        protos.google.cloud.retail.v2.ISetDefaultBranchRequest | undefined,
        {} | undefined
    ]>;

Set a specified branch id as default branch. API methods such as , , will treat requests using "default_branch" to the actual branch id set as default.

For example, if projects/* /locations/* /catalogs/* /branches/1 is set as default, setting to projects/* /locations/* /catalogs/* /branches/default_branch is equivalent to setting to projects/* /locations/* /catalogs/* /branches/1.

Using multiple branches can be useful when developers would like to have a staging branch to test and verify for future usage. When it becomes ready, developers switch on the staging branch using this API while keeping using projects/* /locations/* /catalogs/* /branches/default_branch as to route the traffic to this staging branch.

CAUTION: If you have live predict/search traffic, switching the default branch could potentially cause outages if the ID space of the new branch is very different from the old one.

More specifically:

* PredictionService will only return product IDs from branch {newBranch}. * SearchService will only return product IDs from branch {newBranch} (if branch is not explicitly set). * UserEventService will only join events with products from branch {newBranch}.

Parameters
NameDescription
request protos.google.cloud.retail.v2.ISetDefaultBranchRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ protos.google.protobuf.IEmpty, protos.google.cloud.retail.v2.ISetDefaultBranchRequest | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [Empty]. 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.
   */
  /**
   *  Full resource name of the catalog, such as
   *  `projects/* /locations/global/catalogs/default_catalog`.
   */
  // const catalog = 'abc123'
  /**
   *  The final component of the resource name of a branch.
   *  This field must be one of "0", "1" or "2". Otherwise, an INVALID_ARGUMENT
   *  error is returned.
   *  If there are no sufficient active products in the targeted branch and
   *  force google.cloud.retail.v2.SetDefaultBranchRequest.force  is not set, a
   *  FAILED_PRECONDITION error is returned.
   */
  // const branchId = 'abc123'
  /**
   *  Some note on this request, this can be retrieved by
   *  CatalogService.GetDefaultBranch google.cloud.retail.v2.CatalogService.GetDefaultBranch 
   *  before next valid default branch set occurs.
   *  This field must be a UTF-8 encoded string with a length limit of 1,000
   *  characters. Otherwise, an INVALID_ARGUMENT error is returned.
   */
  // const note = 'abc123'
  /**
   *  If set to true, it permits switching to a branch with
   *  branch_id google.cloud.retail.v2.SetDefaultBranchRequest.branch_id  even
   *  if it has no sufficient active products.
   */
  // const force = true

  // Imports the Retail library
  const {CatalogServiceClient} = require('@google-cloud/retail').v2;

  // Instantiates a client
  const retailClient = new CatalogServiceClient();

  async function callSetDefaultBranch() {
    // Construct request
    const request = {
    };

    // Run request
    const response = await retailClient.setDefaultBranch(request);
    console.log(response);
  }

  callSetDefaultBranch();

setDefaultBranch(request, options, callback)

setDefaultBranch(request: protos.google.cloud.retail.v2.ISetDefaultBranchRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.retail.v2.ISetDefaultBranchRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2.ISetDefaultBranchRequest
options CallOptions
callback Callback<protos.google.protobuf.IEmpty, protos.google.cloud.retail.v2.ISetDefaultBranchRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

setDefaultBranch(request, callback)

setDefaultBranch(request: protos.google.cloud.retail.v2.ISetDefaultBranchRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.retail.v2.ISetDefaultBranchRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2.ISetDefaultBranchRequest
callback Callback<protos.google.protobuf.IEmpty, protos.google.cloud.retail.v2.ISetDefaultBranchRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

updateCatalog(request, options)

updateCatalog(request?: protos.google.cloud.retail.v2.IUpdateCatalogRequest, options?: CallOptions): Promise<[
        protos.google.cloud.retail.v2.ICatalog,
        protos.google.cloud.retail.v2.IUpdateCatalogRequest | undefined,
        {} | undefined
    ]>;

Updates the s.

Parameters
NameDescription
request protos.google.cloud.retail.v2.IUpdateCatalogRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ protos.google.cloud.retail.v2.ICatalog, protos.google.cloud.retail.v2.IUpdateCatalogRequest | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [Catalog]. 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 Catalog google.cloud.retail.v2.Catalog  to update.
   *  If the caller does not have permission to update the
   *  Catalog google.cloud.retail.v2.Catalog, regardless of whether or not it
   *  exists, a PERMISSION_DENIED error is returned.
   *  If the Catalog google.cloud.retail.v2.Catalog  to update does not exist,
   *  a NOT_FOUND error is returned.
   */
  // const catalog = {}
  /**
   *  Indicates which fields in the provided
   *  Catalog google.cloud.retail.v2.Catalog  to update.
   *  If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
   *  is returned.
   */
  // const updateMask = {}

  // Imports the Retail library
  const {CatalogServiceClient} = require('@google-cloud/retail').v2;

  // Instantiates a client
  const retailClient = new CatalogServiceClient();

  async function callUpdateCatalog() {
    // Construct request
    const request = {
      catalog,
    };

    // Run request
    const response = await retailClient.updateCatalog(request);
    console.log(response);
  }

  callUpdateCatalog();

updateCatalog(request, options, callback)

updateCatalog(request: protos.google.cloud.retail.v2.IUpdateCatalogRequest, options: CallOptions, callback: Callback<protos.google.cloud.retail.v2.ICatalog, protos.google.cloud.retail.v2.IUpdateCatalogRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2.IUpdateCatalogRequest
options CallOptions
callback Callback<protos.google.cloud.retail.v2.ICatalog, protos.google.cloud.retail.v2.IUpdateCatalogRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

updateCatalog(request, callback)

updateCatalog(request: protos.google.cloud.retail.v2.IUpdateCatalogRequest, callback: Callback<protos.google.cloud.retail.v2.ICatalog, protos.google.cloud.retail.v2.IUpdateCatalogRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2.IUpdateCatalogRequest
callback Callback<protos.google.cloud.retail.v2.ICatalog, protos.google.cloud.retail.v2.IUpdateCatalogRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void