IcebergCatalogServiceClient(*, credentials: typing.Optional[google.auth.credentials.Credentials] = None, transport: typing.Optional[typing.Union[str, google.cloud.biglake_v1.services.iceberg_catalog_service.transports.base.IcebergCatalogServiceTransport, typing.Callable[[...], google.cloud.biglake_v1.services.iceberg_catalog_service.transports.base.IcebergCatalogServiceTransport]]] = None, client_options: typing.Optional[typing.Union[google.api_core.client_options.ClientOptions, dict]] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo object>)
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.
Properties
api_endpoint
Return the API endpoint used by the client instance.
Returns | |
---|---|
Type | Description |
str |
The API endpoint used by the client instance. |
transport
Returns the transport used by the client instance.
Returns | |
---|---|
Type | Description |
IcebergCatalogServiceTransport |
The transport used by the client instance. |
universe_domain
Return the universe domain used by the client instance.
Returns | |
---|---|
Type | Description |
str |
The universe domain used by the client instance. |
Methods
IcebergCatalogServiceClient
IcebergCatalogServiceClient(*, credentials: typing.Optional[google.auth.credentials.Credentials] = None, transport: typing.Optional[typing.Union[str, google.cloud.biglake_v1.services.iceberg_catalog_service.transports.base.IcebergCatalogServiceTransport, typing.Callable[[...], google.cloud.biglake_v1.services.iceberg_catalog_service.transports.base.IcebergCatalogServiceTransport]]] = None, client_options: typing.Optional[typing.Union[google.api_core.client_options.ClientOptions, dict]] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo object>)
Instantiates the iceberg catalog service client.
Parameters | |
---|---|
Name | Description |
credentials |
Optional[google.auth.credentials.Credentials]
The authorization credentials to attach to requests. These credentials identify the application to the service; if none are specified, the client will attempt to ascertain the credentials from the environment. |
transport |
Optional[Union[str,IcebergCatalogServiceTransport,Callable[..., IcebergCatalogServiceTransport]]]
The transport to use, or a Callable that constructs and returns a new transport. If a Callable is given, it will be called with the same set of initialization arguments as used in the IcebergCatalogServiceTransport constructor. If set to None, a transport is chosen automatically. |
client_options |
Optional[Union[google.api_core.client_options.ClientOptions, dict]]
Custom options for the client. 1. The |
client_info |
google.api_core.gapic_v1.client_info.ClientInfo
The client info used to send a user-agent string along with API requests. If |
Exceptions | |
---|---|
Type | Description |
google.auth.exceptions.MutualTLSChannelError |
If mutual TLS transport creation failed for any reason. |
__exit__
__exit__(type, value, traceback)
Releases underlying transport's resources.
catalog_path
catalog_path(project: str, catalog: str) -> str
Returns a fully-qualified catalog string.
common_billing_account_path
common_billing_account_path(billing_account: str) -> str
Returns a fully-qualified billing_account string.
common_folder_path
common_folder_path(folder: str) -> str
Returns a fully-qualified folder string.
common_location_path
common_location_path(project: str, location: str) -> str
Returns a fully-qualified location string.
common_organization_path
common_organization_path(organization: str) -> str
Returns a fully-qualified organization string.
common_project_path
common_project_path(project: str) -> str
Returns a fully-qualified project string.
create_iceberg_catalog
create_iceberg_catalog(
request: typing.Optional[
typing.Union[
google.cloud.biglake_v1.types.iceberg_rest_catalog.CreateIcebergCatalogRequest,
dict,
]
] = None,
*,
parent: typing.Optional[str] = None,
iceberg_catalog: typing.Optional[
google.cloud.biglake_v1.types.iceberg_rest_catalog.IcebergCatalog
] = None,
iceberg_catalog_id: typing.Optional[str] = None,
retry: typing.Optional[
typing.Union[
google.api_core.retry.retry_unary.Retry,
google.api_core.gapic_v1.method._MethodDefault,
]
] = _MethodDefault._DEFAULT_VALUE,
timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
) -> google.cloud.biglake_v1.types.iceberg_rest_catalog.IcebergCatalog
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.
# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in:
# https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import biglake_v1
def sample_create_iceberg_catalog():
# Create a client
client = biglake_v1.IcebergCatalogServiceClient()
# Initialize request argument(s)
iceberg_catalog = biglake_v1.IcebergCatalog()
iceberg_catalog.catalog_type = "CATALOG_TYPE_GCS_BUCKET"
request = biglake_v1.CreateIcebergCatalogRequest(
parent="parent_value",
iceberg_catalog_id="iceberg_catalog_id_value",
iceberg_catalog=iceberg_catalog,
)
# Make the request
response = client.create_iceberg_catalog(request=request)
# Handle the response
print(response)
Parameters | |
---|---|
Name | Description |
request |
Union[google.cloud.biglake_v1.types.CreateIcebergCatalogRequest, dict]
The request object. The request message for the |
parent |
str
Required. The parent resource where this catalog will be created. Format: projects/{project_id} This corresponds to the |
iceberg_catalog |
google.cloud.biglake_v1.types.IcebergCatalog
Required. The catalog to create. The required fields for creation are: - catalog_type. Optionally: credential_mode can be provided, if Credential Vending is desired. This corresponds to the |
iceberg_catalog_id |
str
Required. The name of the catalog. This corresponds to the |
retry |
google.api_core.retry.Retry
Designation of what errors, if any, should be retried. |
timeout |
float
The timeout for this request. |
metadata |
Sequence[Tuple[str, Union[str, bytes]]]
Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type |
Returns | |
---|---|
Type | Description |
google.cloud.biglake_v1.types.IcebergCatalog |
The Iceberg REST Catalog information. |
failover_iceberg_catalog
failover_iceberg_catalog(
request: typing.Optional[
typing.Union[
google.cloud.biglake_v1.types.iceberg_rest_catalog.FailoverIcebergCatalogRequest,
dict,
]
] = None,
*,
name: typing.Optional[str] = None,
primary_replica: typing.Optional[str] = None,
retry: typing.Optional[
typing.Union[
google.api_core.retry.retry_unary.Retry,
google.api_core.gapic_v1.method._MethodDefault,
]
] = _MethodDefault._DEFAULT_VALUE,
timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
) -> google.cloud.biglake_v1.types.iceberg_rest_catalog.FailoverIcebergCatalogResponse
Failover the catalog to a new primary replica region.
# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in:
# https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import biglake_v1
def sample_failover_iceberg_catalog():
# Create a client
client = biglake_v1.IcebergCatalogServiceClient()
# Initialize request argument(s)
request = biglake_v1.FailoverIcebergCatalogRequest(
name="name_value",
primary_replica="primary_replica_value",
)
# Make the request
response = client.failover_iceberg_catalog(request=request)
# Handle the response
print(response)
Parameters | |
---|---|
Name | Description |
request |
Union[google.cloud.biglake_v1.types.FailoverIcebergCatalogRequest, dict]
The request object. Request message for FailoverIcebergCatalog. |
name |
str
Required. The name of the catalog in the form "projects/{project_id}/catalogs/{catalog_id}" This corresponds to the |
primary_replica |
str
Required. The region being assigned as the new primary replica region. For example "us-east1". This must be one of the replica regions in the catalog's list of replicas marked as a "secondary". This corresponds to the |
retry |
google.api_core.retry.Retry
Designation of what errors, if any, should be retried. |
timeout |
float
The timeout for this request. |
metadata |
Sequence[Tuple[str, Union[str, bytes]]]
Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type |
Returns | |
---|---|
Type | Description |
google.cloud.biglake_v1.types.FailoverIcebergCatalogResponse |
Response message for FailoverIcebergCatalog. |
from_service_account_file
from_service_account_file(filename: str, *args, **kwargs)
Creates an instance of this client using the provided credentials file.
Parameter | |
---|---|
Name | Description |
filename |
str
The path to the service account private key json file. |
Returns | |
---|---|
Type | Description |
IcebergCatalogServiceClient |
The constructed client. |
from_service_account_info
from_service_account_info(info: dict, *args, **kwargs)
Creates an instance of this client using the provided credentials info.
Parameter | |
---|---|
Name | Description |
info |
dict
The service account private key info. |
Returns | |
---|---|
Type | Description |
IcebergCatalogServiceClient |
The constructed client. |
from_service_account_json
from_service_account_json(filename: str, *args, **kwargs)
Creates an instance of this client using the provided credentials file.
Parameter | |
---|---|
Name | Description |
filename |
str
The path to the service account private key json file. |
Returns | |
---|---|
Type | Description |
IcebergCatalogServiceClient |
The constructed client. |
get_iceberg_catalog
get_iceberg_catalog(
request: typing.Optional[
typing.Union[
google.cloud.biglake_v1.types.iceberg_rest_catalog.GetIcebergCatalogRequest,
dict,
]
] = None,
*,
name: typing.Optional[str] = None,
retry: typing.Optional[
typing.Union[
google.api_core.retry.retry_unary.Retry,
google.api_core.gapic_v1.method._MethodDefault,
]
] = _MethodDefault._DEFAULT_VALUE,
timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
) -> google.cloud.biglake_v1.types.iceberg_rest_catalog.IcebergCatalog
Returns the Iceberg REST Catalog configuration options.
# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in:
# https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import biglake_v1
def sample_get_iceberg_catalog():
# Create a client
client = biglake_v1.IcebergCatalogServiceClient()
# Initialize request argument(s)
request = biglake_v1.GetIcebergCatalogRequest(
name="name_value",
)
# Make the request
response = client.get_iceberg_catalog(request=request)
# Handle the response
print(response)
Parameters | |
---|---|
Name | Description |
request |
Union[google.cloud.biglake_v1.types.GetIcebergCatalogRequest, dict]
The request object. The request message for the |
name |
str
Required. The catalog to get. This corresponds to the |
retry |
google.api_core.retry.Retry
Designation of what errors, if any, should be retried. |
timeout |
float
The timeout for this request. |
metadata |
Sequence[Tuple[str, Union[str, bytes]]]
Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type |
Returns | |
---|---|
Type | Description |
google.cloud.biglake_v1.types.IcebergCatalog |
The Iceberg REST Catalog information. |
get_mtls_endpoint_and_cert_source
get_mtls_endpoint_and_cert_source(
client_options: typing.Optional[
google.api_core.client_options.ClientOptions
] = None,
)
Deprecated. Return the API endpoint and client cert source for mutual TLS.
The client cert source is determined in the following order:
(1) if GOOGLE_API_USE_CLIENT_CERTIFICATE
environment variable is not "true", the
client cert source is None.
(2) if client_options.client_cert_source
is provided, use the provided one; if the
default client cert source exists, use the default one; otherwise the client cert
source is None.
The API endpoint is determined in the following order:
(1) if client_options.api_endpoint
if provided, use the provided one.
(2) if GOOGLE_API_USE_CLIENT_CERTIFICATE
environment variable is "always", use the
default mTLS endpoint; if the environment variable is "never", use the default API
endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise
use the default API endpoint.
More details can be found at https://google.aip.dev/auth/4114.
Parameter | |
---|---|
Name | Description |
client_options |
google.api_core.client_options.ClientOptions
Custom options for the client. Only the |
Exceptions | |
---|---|
Type | Description |
google.auth.exceptions.MutualTLSChannelError |
If any errors happen. |
Returns | |
---|---|
Type | Description |
Tuple[str, Callable[[], Tuple[bytes, bytes]]] |
returns the API endpoint and the client cert source to use. |
list_iceberg_catalogs
list_iceberg_catalogs(
request: typing.Optional[
typing.Union[
google.cloud.biglake_v1.types.iceberg_rest_catalog.ListIcebergCatalogsRequest,
dict,
]
] = None,
*,
parent: typing.Optional[str] = None,
retry: typing.Optional[
typing.Union[
google.api_core.retry.retry_unary.Retry,
google.api_core.gapic_v1.method._MethodDefault,
]
] = _MethodDefault._DEFAULT_VALUE,
timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
) -> (
google.cloud.biglake_v1.services.iceberg_catalog_service.pagers.ListIcebergCatalogsPager
)
Lists the Iceberg REST Catalogs.
# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in:
# https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import biglake_v1
def sample_list_iceberg_catalogs():
# Create a client
client = biglake_v1.IcebergCatalogServiceClient()
# Initialize request argument(s)
request = biglake_v1.ListIcebergCatalogsRequest(
parent="parent_value",
)
# Make the request
page_result = client.list_iceberg_catalogs(request=request)
# Handle the response
for response in page_result:
print(response)
Parameters | |
---|---|
Name | Description |
request |
Union[google.cloud.biglake_v1.types.ListIcebergCatalogsRequest, dict]
The request object. The request message for the |
parent |
str
Required. The parent resource where this catalog will be created. Format: projects/{project_id} This corresponds to the |
retry |
google.api_core.retry.Retry
Designation of what errors, if any, should be retried. |
timeout |
float
The timeout for this request. |
metadata |
Sequence[Tuple[str, Union[str, bytes]]]
Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type |
Returns | |
---|---|
Type | Description |
google.cloud.biglake_v1.services.iceberg_catalog_service.pagers.ListIcebergCatalogsPager |
The response message for the ListIcebergCatalogs API. Iterating over this object will yield results and resolve additional pages automatically. |
parse_catalog_path
parse_catalog_path(path: str) -> typing.Dict[str, str]
Parses a catalog path into its component segments.
parse_common_billing_account_path
parse_common_billing_account_path(path: str) -> typing.Dict[str, str]
Parse a billing_account path into its component segments.
parse_common_folder_path
parse_common_folder_path(path: str) -> typing.Dict[str, str]
Parse a folder path into its component segments.
parse_common_location_path
parse_common_location_path(path: str) -> typing.Dict[str, str]
Parse a location path into its component segments.
parse_common_organization_path
parse_common_organization_path(path: str) -> typing.Dict[str, str]
Parse a organization path into its component segments.
parse_common_project_path
parse_common_project_path(path: str) -> typing.Dict[str, str]
Parse a project path into its component segments.
update_iceberg_catalog
update_iceberg_catalog(
request: typing.Optional[
typing.Union[
google.cloud.biglake_v1.types.iceberg_rest_catalog.UpdateIcebergCatalogRequest,
dict,
]
] = None,
*,
iceberg_catalog: typing.Optional[
google.cloud.biglake_v1.types.iceberg_rest_catalog.IcebergCatalog
] = None,
update_mask: typing.Optional[google.protobuf.field_mask_pb2.FieldMask] = None,
retry: typing.Optional[
typing.Union[
google.api_core.retry.retry_unary.Retry,
google.api_core.gapic_v1.method._MethodDefault,
]
] = _MethodDefault._DEFAULT_VALUE,
timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
) -> google.cloud.biglake_v1.types.iceberg_rest_catalog.IcebergCatalog
Update the Iceberg REST Catalog configuration options.
# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in:
# https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import biglake_v1
def sample_update_iceberg_catalog():
# Create a client
client = biglake_v1.IcebergCatalogServiceClient()
# Initialize request argument(s)
iceberg_catalog = biglake_v1.IcebergCatalog()
iceberg_catalog.catalog_type = "CATALOG_TYPE_GCS_BUCKET"
request = biglake_v1.UpdateIcebergCatalogRequest(
iceberg_catalog=iceberg_catalog,
)
# Make the request
response = client.update_iceberg_catalog(request=request)
# Handle the response
print(response)
Parameters | |
---|---|
Name | Description |
request |
Union[google.cloud.biglake_v1.types.UpdateIcebergCatalogRequest, dict]
The request object. The request message for the |
iceberg_catalog |
google.cloud.biglake_v1.types.IcebergCatalog
Required. The catalog to update. This corresponds to the |
update_mask |
google.protobuf.field_mask_pb2.FieldMask
Optional. The list of fields to update. This corresponds to the |
retry |
google.api_core.retry.Retry
Designation of what errors, if any, should be retried. |
timeout |
float
The timeout for this request. |
metadata |
Sequence[Tuple[str, Union[str, bytes]]]
Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type |
Returns | |
---|---|
Type | Description |
google.cloud.biglake_v1.types.IcebergCatalog |
The Iceberg REST Catalog information. |