Class IcebergCatalogServiceGrpc.IcebergCatalogServiceFutureStub (0.62.0)

public static final class IcebergCatalogServiceGrpc.IcebergCatalogServiceFutureStub extends AbstractFutureStub<IcebergCatalogServiceGrpc.IcebergCatalogServiceFutureStub>

A stub to allow clients to do ListenableFuture-style 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.AbstractFutureStub > IcebergCatalogServiceGrpc.IcebergCatalogServiceFutureStub

Methods

build(Channel channel, CallOptions callOptions)

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

checkIcebergNamespaceExists(GetIcebergNamespaceRequest request)

public ListenableFuture<Empty> checkIcebergNamespaceExists(GetIcebergNamespaceRequest request)

Returns 204 if the namespace exists, 404 otherwise.

Parameter
Name Description
request GetIcebergNamespaceRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<Empty>

checkIcebergTableExists(GetIcebergTableRequest request)

public ListenableFuture<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
com.google.common.util.concurrent.ListenableFuture<Empty>

createIcebergCatalog(CreateIcebergCatalogRequest request)

public ListenableFuture<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
com.google.common.util.concurrent.ListenableFuture<IcebergCatalog>

createIcebergNamespace(CreateIcebergNamespaceRequest request)

public ListenableFuture<IcebergNamespace> createIcebergNamespace(CreateIcebergNamespaceRequest request)

Creates a namespace in the catalog.

Parameter
Name Description
request CreateIcebergNamespaceRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<IcebergNamespace>

createIcebergTable(CreateIcebergTableRequest request)

public ListenableFuture<HttpBody> createIcebergTable(CreateIcebergTableRequest request)

Creates a table in the namespace.

Parameter
Name Description
request CreateIcebergTableRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<com.google.api.HttpBody>

deleteIcebergCatalog(DeleteIcebergCatalogRequest request)

public ListenableFuture<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
com.google.common.util.concurrent.ListenableFuture<Empty>

deleteIcebergNamespace(DeleteIcebergNamespaceRequest request)

public ListenableFuture<Empty> deleteIcebergNamespace(DeleteIcebergNamespaceRequest request)

Returns 204, not 200 on success.

Parameter
Name Description
request DeleteIcebergNamespaceRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<Empty>

deleteIcebergTable(DeleteIcebergTableRequest request)

public ListenableFuture<Empty> deleteIcebergTable(DeleteIcebergTableRequest request)

Deletes a table in the namespace.

Parameter
Name Description
request DeleteIcebergTableRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<Empty>

failoverIcebergCatalog(FailoverIcebergCatalogRequest request)

public ListenableFuture<FailoverIcebergCatalogResponse> failoverIcebergCatalog(FailoverIcebergCatalogRequest request)

Failover the catalog to a new primary replica region.

Parameter
Name Description
request FailoverIcebergCatalogRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<FailoverIcebergCatalogResponse>

getIcebergCatalog(GetIcebergCatalogRequest request)

public ListenableFuture<IcebergCatalog> getIcebergCatalog(GetIcebergCatalogRequest request)

Returns the Iceberg REST Catalog configuration options.

Parameter
Name Description
request GetIcebergCatalogRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<IcebergCatalog>

getIcebergCatalogConfig(GetIcebergCatalogConfigRequest request)

public ListenableFuture<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
com.google.common.util.concurrent.ListenableFuture<IcebergCatalogConfig>

getIcebergNamespace(GetIcebergNamespaceRequest request)

public ListenableFuture<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
com.google.common.util.concurrent.ListenableFuture<IcebergNamespace>

getIcebergTable(GetIcebergTableRequest request)

public ListenableFuture<HttpBody> getIcebergTable(GetIcebergTableRequest request)

Gets a table in the namespace.

Parameter
Name Description
request GetIcebergTableRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<com.google.api.HttpBody>

listIcebergCatalogs(ListIcebergCatalogsRequest request)

public ListenableFuture<ListIcebergCatalogsResponse> listIcebergCatalogs(ListIcebergCatalogsRequest request)

Lists the Iceberg REST Catalogs.

Parameter
Name Description
request ListIcebergCatalogsRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<ListIcebergCatalogsResponse>

listIcebergNamespaces(ListIcebergNamespacesRequest request)

public ListenableFuture<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
com.google.common.util.concurrent.ListenableFuture<ListIcebergNamespacesResponse>

listIcebergTableIdentifiers(ListIcebergTableIdentifiersRequest request)

public ListenableFuture<ListIcebergTableIdentifiersResponse> listIcebergTableIdentifiers(ListIcebergTableIdentifiersRequest request)

Lists table identifiers (not tables) in the namespace.

Parameter
Name Description
request ListIcebergTableIdentifiersRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<ListIcebergTableIdentifiersResponse>

loadIcebergTableCredentials(GetIcebergTableRequest request)

public ListenableFuture<LoadIcebergTableCredentialsResponse> loadIcebergTableCredentials(GetIcebergTableRequest request)

Loads credentials for a table in the namespace.

Parameter
Name Description
request GetIcebergTableRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<LoadIcebergTableCredentialsResponse>

registerIcebergTable(RegisterIcebergTableRequest request)

public ListenableFuture<HttpBody> registerIcebergTable(RegisterIcebergTableRequest request)

Register a table using given metadata file location.

Parameter
Name Description
request RegisterIcebergTableRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<com.google.api.HttpBody>

updateIcebergCatalog(UpdateIcebergCatalogRequest request)

public ListenableFuture<IcebergCatalog> updateIcebergCatalog(UpdateIcebergCatalogRequest request)

Update the Iceberg REST Catalog configuration options.

Parameter
Name Description
request UpdateIcebergCatalogRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<IcebergCatalog>

updateIcebergNamespace(UpdateIcebergNamespaceRequest request)

public ListenableFuture<UpdateIcebergNamespaceResponse> updateIcebergNamespace(UpdateIcebergNamespaceRequest request)

Updates namespace properties.

Parameter
Name Description
request UpdateIcebergNamespaceRequest
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<UpdateIcebergNamespaceResponse>

updateIcebergTable(UpdateIcebergTableRequest request)

public ListenableFuture<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.common.util.concurrent.ListenableFuture<com.google.api.HttpBody>