Interface IcebergCatalogServiceGrpc.AsyncService (0.62.0)

public static interface IcebergCatalogServiceGrpc.AsyncService

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.

Methods

checkIcebergNamespaceExists(GetIcebergNamespaceRequest request, StreamObserver<Empty> responseObserver)

public default void checkIcebergNamespaceExists(GetIcebergNamespaceRequest request, StreamObserver<Empty> responseObserver)

Returns 204 if the namespace exists, 404 otherwise.

Parameters
Name Description
request GetIcebergNamespaceRequest
responseObserver io.grpc.stub.StreamObserver<Empty>

checkIcebergTableExists(GetIcebergTableRequest request, StreamObserver<Empty> responseObserver)

public default void checkIcebergTableExists(GetIcebergTableRequest request, StreamObserver<Empty> responseObserver)

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

Parameters
Name Description
request GetIcebergTableRequest
responseObserver io.grpc.stub.StreamObserver<Empty>

createIcebergCatalog(CreateIcebergCatalogRequest request, StreamObserver<IcebergCatalog> responseObserver)

public default void createIcebergCatalog(CreateIcebergCatalogRequest request, StreamObserver<IcebergCatalog> responseObserver)

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.

Parameters
Name Description
request CreateIcebergCatalogRequest
responseObserver io.grpc.stub.StreamObserver<IcebergCatalog>

createIcebergNamespace(CreateIcebergNamespaceRequest request, StreamObserver<IcebergNamespace> responseObserver)

public default void createIcebergNamespace(CreateIcebergNamespaceRequest request, StreamObserver<IcebergNamespace> responseObserver)

Creates a namespace in the catalog.

Parameters
Name Description
request CreateIcebergNamespaceRequest
responseObserver io.grpc.stub.StreamObserver<IcebergNamespace>

createIcebergTable(CreateIcebergTableRequest request, StreamObserver<HttpBody> responseObserver)

public default void createIcebergTable(CreateIcebergTableRequest request, StreamObserver<HttpBody> responseObserver)

Creates a table in the namespace.

Parameters
Name Description
request CreateIcebergTableRequest
responseObserver io.grpc.stub.StreamObserver<com.google.api.HttpBody>

deleteIcebergCatalog(DeleteIcebergCatalogRequest request, StreamObserver<Empty> responseObserver)

public default void deleteIcebergCatalog(DeleteIcebergCatalogRequest request, StreamObserver<Empty> responseObserver)

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.

Parameters
Name Description
request DeleteIcebergCatalogRequest
responseObserver io.grpc.stub.StreamObserver<Empty>

deleteIcebergNamespace(DeleteIcebergNamespaceRequest request, StreamObserver<Empty> responseObserver)

public default void deleteIcebergNamespace(DeleteIcebergNamespaceRequest request, StreamObserver<Empty> responseObserver)

Returns 204, not 200 on success.

Parameters
Name Description
request DeleteIcebergNamespaceRequest
responseObserver io.grpc.stub.StreamObserver<Empty>

deleteIcebergTable(DeleteIcebergTableRequest request, StreamObserver<Empty> responseObserver)

public default void deleteIcebergTable(DeleteIcebergTableRequest request, StreamObserver<Empty> responseObserver)

Deletes a table in the namespace.

Parameters
Name Description
request DeleteIcebergTableRequest
responseObserver io.grpc.stub.StreamObserver<Empty>

failoverIcebergCatalog(FailoverIcebergCatalogRequest request, StreamObserver<FailoverIcebergCatalogResponse> responseObserver)

public default void failoverIcebergCatalog(FailoverIcebergCatalogRequest request, StreamObserver<FailoverIcebergCatalogResponse> responseObserver)

Failover the catalog to a new primary replica region.

Parameters
Name Description
request FailoverIcebergCatalogRequest
responseObserver io.grpc.stub.StreamObserver<FailoverIcebergCatalogResponse>

getIcebergCatalog(GetIcebergCatalogRequest request, StreamObserver<IcebergCatalog> responseObserver)

public default void getIcebergCatalog(GetIcebergCatalogRequest request, StreamObserver<IcebergCatalog> responseObserver)

Returns the Iceberg REST Catalog configuration options.

Parameters
Name Description
request GetIcebergCatalogRequest
responseObserver io.grpc.stub.StreamObserver<IcebergCatalog>

getIcebergCatalogConfig(GetIcebergCatalogConfigRequest request, StreamObserver<IcebergCatalogConfig> responseObserver)

public default void getIcebergCatalogConfig(GetIcebergCatalogConfigRequest request, StreamObserver<IcebergCatalogConfig> responseObserver)

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.

Parameters
Name Description
request GetIcebergCatalogConfigRequest
responseObserver io.grpc.stub.StreamObserver<IcebergCatalogConfig>

getIcebergNamespace(GetIcebergNamespaceRequest request, StreamObserver<IcebergNamespace> responseObserver)

public default void getIcebergNamespace(GetIcebergNamespaceRequest request, StreamObserver<IcebergNamespace> responseObserver)

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

Parameters
Name Description
request GetIcebergNamespaceRequest
responseObserver io.grpc.stub.StreamObserver<IcebergNamespace>

getIcebergTable(GetIcebergTableRequest request, StreamObserver<HttpBody> responseObserver)

public default void getIcebergTable(GetIcebergTableRequest request, StreamObserver<HttpBody> responseObserver)

Gets a table in the namespace.

Parameters
Name Description
request GetIcebergTableRequest
responseObserver io.grpc.stub.StreamObserver<com.google.api.HttpBody>

listIcebergCatalogs(ListIcebergCatalogsRequest request, StreamObserver<ListIcebergCatalogsResponse> responseObserver)

public default void listIcebergCatalogs(ListIcebergCatalogsRequest request, StreamObserver<ListIcebergCatalogsResponse> responseObserver)

Lists the Iceberg REST Catalogs.

Parameters
Name Description
request ListIcebergCatalogsRequest
responseObserver io.grpc.stub.StreamObserver<ListIcebergCatalogsResponse>

listIcebergNamespaces(ListIcebergNamespacesRequest request, StreamObserver<ListIcebergNamespacesResponse> responseObserver)

public default void listIcebergNamespaces(ListIcebergNamespacesRequest request, StreamObserver<ListIcebergNamespacesResponse> responseObserver)

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

Parameters
Name Description
request ListIcebergNamespacesRequest
responseObserver io.grpc.stub.StreamObserver<ListIcebergNamespacesResponse>

listIcebergTableIdentifiers(ListIcebergTableIdentifiersRequest request, StreamObserver<ListIcebergTableIdentifiersResponse> responseObserver)

public default void listIcebergTableIdentifiers(ListIcebergTableIdentifiersRequest request, StreamObserver<ListIcebergTableIdentifiersResponse> responseObserver)

Lists table identifiers (not tables) in the namespace.

Parameters
Name Description
request ListIcebergTableIdentifiersRequest
responseObserver io.grpc.stub.StreamObserver<ListIcebergTableIdentifiersResponse>

loadIcebergTableCredentials(GetIcebergTableRequest request, StreamObserver<LoadIcebergTableCredentialsResponse> responseObserver)

public default void loadIcebergTableCredentials(GetIcebergTableRequest request, StreamObserver<LoadIcebergTableCredentialsResponse> responseObserver)

Loads credentials for a table in the namespace.

Parameters
Name Description
request GetIcebergTableRequest
responseObserver io.grpc.stub.StreamObserver<LoadIcebergTableCredentialsResponse>

registerIcebergTable(RegisterIcebergTableRequest request, StreamObserver<HttpBody> responseObserver)

public default void registerIcebergTable(RegisterIcebergTableRequest request, StreamObserver<HttpBody> responseObserver)

Register a table using given metadata file location.

Parameters
Name Description
request RegisterIcebergTableRequest
responseObserver io.grpc.stub.StreamObserver<com.google.api.HttpBody>

updateIcebergCatalog(UpdateIcebergCatalogRequest request, StreamObserver<IcebergCatalog> responseObserver)

public default void updateIcebergCatalog(UpdateIcebergCatalogRequest request, StreamObserver<IcebergCatalog> responseObserver)

Update the Iceberg REST Catalog configuration options.

Parameters
Name Description
request UpdateIcebergCatalogRequest
responseObserver io.grpc.stub.StreamObserver<IcebergCatalog>

updateIcebergNamespace(UpdateIcebergNamespaceRequest request, StreamObserver<UpdateIcebergNamespaceResponse> responseObserver)

public default void updateIcebergNamespace(UpdateIcebergNamespaceRequest request, StreamObserver<UpdateIcebergNamespaceResponse> responseObserver)

Updates namespace properties.

Parameters
Name Description
request UpdateIcebergNamespaceRequest
responseObserver io.grpc.stub.StreamObserver<UpdateIcebergNamespaceResponse>

updateIcebergTable(UpdateIcebergTableRequest request, StreamObserver<HttpBody> responseObserver)

public default void updateIcebergTable(UpdateIcebergTableRequest request, StreamObserver<HttpBody> responseObserver)

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

Parameters
Name Description
request UpdateIcebergTableRequest
responseObserver io.grpc.stub.StreamObserver<com.google.api.HttpBody>