Class IcebergCatalogServiceGrpc.IcebergCatalogServiceBlockingStub (0.62.0)

public static final class IcebergCatalogServiceGrpc.IcebergCatalogServiceBlockingStub extends AbstractBlockingStub<IcebergCatalogServiceGrpc.IcebergCatalogServiceBlockingStub>

A stub to allow clients to do limited synchronous rpc calls to service IcebergCatalogService.

Iceberg Catalog Service API: this implements the open-source Iceberg REST Catalog API. See the API definition here: https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml The API is defined as OpenAPI 3.1.1 spec. Currently we only support the following methods:

  • GetConfig/GetIcebergCatalogConfig
  • ListIcebergNamespaces
  • CheckIcebergNamespaceExists
  • GetIcebergNamespace
  • CreateIcebergNamespace (only supports single level)
  • DeleteIcebergNamespace
  • UpdateIcebergNamespace properties
  • ListTableIdentifiers
  • CreateIcebergTable
  • DeleteIcebergTable
  • GetIcebergTable
  • UpdateIcebergTable (CommitTable)
  • LoadIcebergTableCredentials
  • RegisterTable Users are required to provided the X-Goog-User-Project header with the project id or number which can be different from the bucket project id. That project will be charged for the API calls and the calling user must have access to that project. The caller must have serviceusage.services.use permission on the project.

Inheritance

java.lang.Object > io.grpc.stub.AbstractStub > io.grpc.stub.AbstractBlockingStub > IcebergCatalogServiceGrpc.IcebergCatalogServiceBlockingStub

Methods

build(Channel channel, CallOptions callOptions)

protected IcebergCatalogServiceGrpc.IcebergCatalogServiceBlockingStub build(Channel channel, CallOptions callOptions)
Parameters
Name Description
channel io.grpc.Channel
callOptions io.grpc.CallOptions
Returns
Type Description
IcebergCatalogServiceGrpc.IcebergCatalogServiceBlockingStub
Overrides
io.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions)

checkIcebergNamespaceExists(GetIcebergNamespaceRequest request)

public Empty checkIcebergNamespaceExists(GetIcebergNamespaceRequest request)

Returns 204 if the namespace exists, 404 otherwise.

Parameter
Name Description
request GetIcebergNamespaceRequest
Returns
Type Description
Empty

checkIcebergTableExists(GetIcebergTableRequest request)

public Empty checkIcebergTableExists(GetIcebergTableRequest request)

Returns 204 if the table exists, 404 otherwise. This is a HEAD HTTP method.

Parameter
Name Description
request GetIcebergTableRequest
Returns
Type Description
Empty

createIcebergCatalog(CreateIcebergCatalogRequest request)

public IcebergCatalog createIcebergCatalog(CreateIcebergCatalogRequest request)

Creates the Iceberg REST Catalog. Currently only supports Google Cloud Storage Bucket catalogs. Google Cloud Storage Bucket catalog id is the bucket for which the catalog is created (e.g. my-catalog for gs://my-catalog). If the bucket does not exist, of the caller does not have bucket metadata permissions, the catalog will not be created.

Parameter
Name Description
request CreateIcebergCatalogRequest
Returns
Type Description
IcebergCatalog

createIcebergNamespace(CreateIcebergNamespaceRequest request)

public IcebergNamespace createIcebergNamespace(CreateIcebergNamespaceRequest request)

Creates a namespace in the catalog.

Parameter
Name Description
request CreateIcebergNamespaceRequest
Returns
Type Description
IcebergNamespace

createIcebergTable(CreateIcebergTableRequest request)

public HttpBody createIcebergTable(CreateIcebergTableRequest request)

Creates a table in the namespace.

Parameter
Name Description
request CreateIcebergTableRequest
Returns
Type Description
com.google.api.HttpBody

deleteIcebergCatalog(DeleteIcebergCatalogRequest request)

public Empty deleteIcebergCatalog(DeleteIcebergCatalogRequest request)

Deletes the Iceberg REST Catalog. Delete does not delete a catalog that has contents -- at least one namespace. Delete is not supported for all catalog types.

Parameter
Name Description
request DeleteIcebergCatalogRequest
Returns
Type Description
Empty

deleteIcebergNamespace(DeleteIcebergNamespaceRequest request)

public Empty deleteIcebergNamespace(DeleteIcebergNamespaceRequest request)

Returns 204, not 200 on success.

Parameter
Name Description
request DeleteIcebergNamespaceRequest
Returns
Type Description
Empty

deleteIcebergTable(DeleteIcebergTableRequest request)

public Empty deleteIcebergTable(DeleteIcebergTableRequest request)

Deletes a table in the namespace.

Parameter
Name Description
request DeleteIcebergTableRequest
Returns
Type Description
Empty

failoverIcebergCatalog(FailoverIcebergCatalogRequest request)

public FailoverIcebergCatalogResponse failoverIcebergCatalog(FailoverIcebergCatalogRequest request)

Failover the catalog to a new primary replica region.

Parameter
Name Description
request FailoverIcebergCatalogRequest
Returns
Type Description
FailoverIcebergCatalogResponse

getIcebergCatalog(GetIcebergCatalogRequest request)

public IcebergCatalog getIcebergCatalog(GetIcebergCatalogRequest request)

Returns the Iceberg REST Catalog configuration options.

Parameter
Name Description
request GetIcebergCatalogRequest
Returns
Type Description
IcebergCatalog

getIcebergCatalogConfig(GetIcebergCatalogConfigRequest request)

public IcebergCatalogConfig getIcebergCatalogConfig(GetIcebergCatalogConfigRequest request)

GetIcebergCatalogConfig lists all catalog configuration settings. Most importantly it contains the optional endpoints field which lists what methods this catalog supports, since we are not supporting all the methods right now. It returns all the methods defined in this service (subject to project config allowlisting). This is not a GCP resource.

Parameter
Name Description
request GetIcebergCatalogConfigRequest
Returns
Type Description
IcebergCatalogConfig

getIcebergNamespace(GetIcebergNamespaceRequest request)

public IcebergNamespace getIcebergNamespace(GetIcebergNamespaceRequest request)

Gets an Iceberg namespace in the catalog (or checks if it exists, if the method is HEAD).

Parameter
Name Description
request GetIcebergNamespaceRequest
Returns
Type Description
IcebergNamespace

getIcebergTable(GetIcebergTableRequest request)

public HttpBody getIcebergTable(GetIcebergTableRequest request)

Gets a table in the namespace.

Parameter
Name Description
request GetIcebergTableRequest
Returns
Type Description
com.google.api.HttpBody

listIcebergCatalogs(ListIcebergCatalogsRequest request)

public ListIcebergCatalogsResponse listIcebergCatalogs(ListIcebergCatalogsRequest request)

Lists the Iceberg REST Catalogs.

Parameter
Name Description
request ListIcebergCatalogsRequest
Returns
Type Description
ListIcebergCatalogsResponse

listIcebergNamespaces(ListIcebergNamespacesRequest request)

public ListIcebergNamespacesResponse listIcebergNamespaces(ListIcebergNamespacesRequest request)

Lists Iceberg namespaces in the catalog. We only support one level of nesting for namespaces.

Parameter
Name Description
request ListIcebergNamespacesRequest
Returns
Type Description
ListIcebergNamespacesResponse

listIcebergTableIdentifiers(ListIcebergTableIdentifiersRequest request)

public ListIcebergTableIdentifiersResponse listIcebergTableIdentifiers(ListIcebergTableIdentifiersRequest request)

Lists table identifiers (not tables) in the namespace.

Parameter
Name Description
request ListIcebergTableIdentifiersRequest
Returns
Type Description
ListIcebergTableIdentifiersResponse

loadIcebergTableCredentials(GetIcebergTableRequest request)

public LoadIcebergTableCredentialsResponse loadIcebergTableCredentials(GetIcebergTableRequest request)

Loads credentials for a table in the namespace.

Parameter
Name Description
request GetIcebergTableRequest
Returns
Type Description
LoadIcebergTableCredentialsResponse

registerIcebergTable(RegisterIcebergTableRequest request)

public HttpBody registerIcebergTable(RegisterIcebergTableRequest request)

Register a table using given metadata file location.

Parameter
Name Description
request RegisterIcebergTableRequest
Returns
Type Description
com.google.api.HttpBody

updateIcebergCatalog(UpdateIcebergCatalogRequest request)

public IcebergCatalog updateIcebergCatalog(UpdateIcebergCatalogRequest request)

Update the Iceberg REST Catalog configuration options.

Parameter
Name Description
request UpdateIcebergCatalogRequest
Returns
Type Description
IcebergCatalog

updateIcebergNamespace(UpdateIcebergNamespaceRequest request)

public UpdateIcebergNamespaceResponse updateIcebergNamespace(UpdateIcebergNamespaceRequest request)

Updates namespace properties.

Parameter
Name Description
request UpdateIcebergNamespaceRequest
Returns
Type Description
UpdateIcebergNamespaceResponse

updateIcebergTable(UpdateIcebergTableRequest request)

public HttpBody updateIcebergTable(UpdateIcebergTableRequest request)

This is CommitTable Iceberg API, which maps to UpdateIcebergTable in the Google API nomenclature.

Parameter
Name Description
request UpdateIcebergTableRequest
Returns
Type Description
com.google.api.HttpBody