- 资源:IcebergCatalog
- CredentialMode
- CatalogType
- 副本
- 州/省/直辖市/自治区
- RestrictedLocationsConfig
- EncryptionConfig
- FederatedCatalogOptions
- UnityCatalogInfo
- GlueCatalogInfo
- SnowflakeCatalogInfo
- WorkdayCatalogInfo
- RefreshOptions
- RefreshSchedule
- RefreshScope
- RefreshStatus
- CrossCloudCacheOptions
- 方法
资源:IcebergCatalog
Iceberg REST Catalog 信息。
| JSON 表示法 |
|---|
{ "name": string, "credential-mode": enum ( |
| 字段 | |
|---|---|
name |
标识符。目录名称,即 |
credential-mode |
可选。目录的凭据模式。 |
biglake-service-account |
仅限输出。用于凭据自动售卖的服务账号,仅限输出。如果从未为目录启用凭证分发,则可能为空。 对于联合目录,系统将始终预配服务账号,并使用该账号访问远程目录以进行后台元数据刷新。如果 |
biglake-service-account-id |
仅限输出。服务账号的唯一 ID。这用于联合场景。 |
catalog-type |
必需。目录类型。对于 catalogs.create 为必需字段。目录类型是不可变的,但从 CATALOG_TYPE_GCS_BUCKET 转换为 CATALOG_TYPE_BIGLAKE 的情况除外。 |
default-location |
可选。目录的默认存储位置,例如 对于 BigLake 目录,必须提供此字段,并且该字段必须指向 Google Cloud Storage 存储桶或该存储桶中的路径。如果未在命名空间或表级指定位置,此路径将作为构建表的数据和元数据目录完整路径的基本目录。完整路径是通过将命名空间和表标识符附加到默认位置来形成的。 |
storage-regions[] |
仅限输出。默认位置的存储桶的 GCP 区域,例如 |
create-time |
仅限输出。目录的创建时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
update-time |
仅限输出。目录的上次更新时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
replicas[] |
仅限输出。目录元数据的副本数。 |
description |
可选。用户提供的目录说明。说明必须是 UTF-8 字符串,长度上限为 1024 个字符。 |
restricted-locations-config |
可选。受限位置配置。此字段目前仅用于 BigLake Catalog。 如果未设置此字段,或者 |
federated-catalog-options |
可选。联合目录的配置选项。 |
cross-cloud-cache-options |
可选。用于跨云缓存数据和元数据文件的配置选项。 |
encryption-config |
可选。自定义加密配置(例如,Cloud KMS 密钥)。 |
CredentialMode
目录所用的凭据模式。
| 枚举 | |
|---|---|
CREDENTIAL_MODE_UNSPECIFIED |
默认值/未设置的值。此值未使用。 |
CREDENTIAL_MODE_END_USER |
最终用户凭证模式,默认值。进行身份验证的用户必须有权访问目录资源和底层 Google Cloud Storage 对象。 |
CREDENTIAL_MODE_VENDED_CREDENTIALS |
凭证分发模式。进行身份验证的用户只需有权访问目录资源,系统就会为调用方提供降级后的凭据,以便其访问 Google Cloud Storage 对象。在此模式下,所有表操作都需要将 如需了解详情,请参阅 https://docs.cloud.google.com/lakehouse/docs/credential-vending。 |
CatalogType
确定目录类型。
| 枚举 | |
|---|---|
CATALOG_TYPE_UNSPECIFIED |
默认值/未设置的值。此值未使用。 |
CATALOG_TYPE_GCS_BUCKET |
Google Cloud Storage 存储桶目录类型。 |
CATALOG_TYPE_BIGLAKE |
BigLake 目录类型。 |
CATALOG_TYPE_FEDERATED |
联合目录类型。 |
副本
目录的副本。
| JSON 表示法 |
|---|
{
"region": string,
"state": enum ( |
| 字段 | |
|---|---|
region |
仅限输出。副本的区域。例如“us-east1” |
state |
仅限输出。副本的当前状态。 |
州
如果目录复制到多个区域,此枚举会描述副本的当前状态。
| 枚举 | |
|---|---|
STATE_UNKNOWN |
默认值/未设置的值。此值未使用。 |
STATE_PRIMARY |
相应副本是可写的主副本。 |
STATE_PRIMARY_IN_PROGRESS |
副本最近被分配为主要副本,但并非所有命名空间都可写入。 |
STATE_SECONDARY |
相应副本是只读次要副本。 |
RestrictedLocationsConfig
位置限制的配置。
| JSON 表示法 |
|---|
{ "restricted-locations": [ string ] } |
| 字段 | |
|---|---|
restricted-locations[] |
可选。目录中资源允许使用的其他 Google Cloud Storage 存储桶和位置(例如 如果 |
EncryptionConfig
自定义加密配置(例如,Cloud KMS 密钥)。
| JSON 表示法 |
|---|
{ "kms-key-name": string } |
| 字段 | |
|---|---|
kms-key-name |
可选。用于加密从目录中提取的缓存数据的 Cloud KMS 密钥名称。格式: |
FederatedCatalogOptions
联合目录的配置选项。
| JSON 表示法 |
|---|
{ "refresh-options": { object ( |
| 字段 | |
|---|---|
refresh-options |
可选。刷新配置。 |
refresh-status |
仅限输出。后台元数据刷新操作的状态。 |
| 远程 Iceberg REST 目录的特定信息。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一: | |
unity-catalog-info |
可选。特定于 Databricks Unity Catalog 的信息。 |
glue-catalog-info |
可选。AWS Glue Data Catalog 的特定信息。 |
snowflake-catalog-info |
可选。特定于 Snowflake Horizon Catalog 的信息。 |
workday-catalog-info |
可选。Workday Data Lake 的特定信息。 |
| 互斥字段的结束。 | |
secret-name |
可选。Secret Manager 中的 Secret 资源名称,格式为 项目 ID 必须与目录的项目 ID 一致,位置必须与目录的位置一致。如果未指定版本,则使用最新版本。 如果设置了 |
service-directory-name |
可选。用于通过专用网络连接将传输层流量与远程目录(例如存储桶中的数据文件访问)进行路由的 Service Directory 资源名称。 格式: BigQuery 查询使用此属性通过专用网络连接(例如跨云互连)解析专用端点,以提取数据文件(例如 S3 或 Azure Data Lake Storage 中的 Iceberg 数据)。 |
UnityCatalogInfo
特定于 Databricks Unity Catalog 的信息。Iceberg REST Catalog 端点的格式为:https://<instanceName>/api/2.1/unity-catalog/iceberg-rest/v1/config?warehouse=<catalogName>。
| JSON 表示法 |
|---|
{ "instance-name": string, "catalog-name": string, "service-principal-application-id": string } |
| 字段 | |
|---|---|
instance-name |
必需。不可变。Databricks 工作区的实例名称。例如,对于 Databricks 工作区网址 |
catalog-name |
必需。不可变。Databricks Unity Catalog 中的目录名称。 |
service-principal-application-id |
可选。在 OIDC 身份验证流程中用于访问 Databricks Unity Catalog 的 Databricks 服务主体的应用 ID。 |
GlueCatalogInfo
AWS Glue Data Catalog 的特定信息。Iceberg REST Catalog 端点的格式为:https://glue.<awsRegion>.amazonaws.com/iceberg/v1/config?warehouse=<warehouse>。
| JSON 表示法 |
|---|
{ "warehouse": string, "aws-region": string, "aws-role-arn": string } |
| 字段 | |
|---|---|
warehouse |
必需。不可变。AWS Glue Data Catalog 中的仓库位置。 对于默认账号目录,请使用 12 位数的 AWS 账号 ID(例如 |
aws-region |
必需。不可变。AWS Glue Data Catalog 的 AWS 区域(例如 |
aws-role-arn |
必需。联合目录用于访问 AWS Glue Data Catalog 的 AWS IAM 角色的 Amazon 资源名称 (ARN)。 |
SnowflakeCatalogInfo
特定于 Snowflake Horizon Catalog 的信息。Iceberg REST Catalog 端点的格式为:https://<accountIdentifier>.snowflakecomputing.com/polaris/api/catalog/v1/config?warehouse=<warehouse>。
| JSON 表示法 |
|---|
{ "account-identifier": string, "warehouse": string, "snowflake-role": string } |
| 字段 | |
|---|---|
account-identifier |
必需。不可变。Snowflake 中的账号标识符。例如,对于 Snowflake 部署网址 |
warehouse |
必需。不可变。Snowflake Horizon Catalog 中的数据库名称。 |
snowflake-role |
可选。在工作负载身份联合 (OIDC) 身份验证流程中用于访问 Snowflake Horizon Catalog 的 Snowflake 角色名称。 |
WorkdayCatalogInfo
Workday Data Lake 的特定信息。Iceberg REST Catalog 端点的格式为:https://<baseUrl>/datalake/api/catalog/v1/config?warehouse=workday。
| JSON 表示法 |
|---|
{ "base-url": string, "tenant": string } |
| 字段 | |
|---|---|
base-url |
必需。不可变。Workday 实例的基础网址。例如 |
tenant |
必需。不可变。Workday 租户名称。 |
RefreshOptions
刷新配置。
| JSON 表示法 |
|---|
{ "refresh-schedule": { object ( |
| 字段 | |
|---|---|
refresh-schedule |
可选。时间表用于定义是否应安排元数据刷新以及何时安排。 |
refresh-scope |
可选。刷新范围配置。 |
RefreshSchedule
时间表用于定义是否应安排元数据刷新以及何时安排。
| JSON 表示法 |
|---|
{ "refresh-interval": string } |
| 字段 | |
|---|---|
refresh-interval |
可选。从远程目录刷新元数据的间隔。如果未设置或值小于等于 0,则会停用后台元数据刷新。如果为现有联邦目录更新此字段,则必须先完成之前的后台元数据刷新,新的刷新间隔才会生效。 该时长以秒为单位,最多包含九个小数位,以“ |
RefreshScope
范围定义了要刷新的命名空间子集。
| JSON 表示法 |
|---|
{ "namespace-filters": [ string ] } |
| 字段 | |
|---|---|
namespace-filters[] |
可选。用于确定哪些命名空间包含在刷新过程中。- 空列表表示包含所有命名空间。- “[namespaces]”表示包含指定的命名空间。['ns1', 'ns2']:仅发现命名空间“ns1”和“ns2”。 |
RefreshStatus
远程目录后台元数据刷新状态。
| JSON 表示法 |
|---|
{
"start-time": string,
"end-time": string,
"status": {
object ( |
| 字段 | |
|---|---|
start-time |
仅限输出。目录刷新已开始(包括正在进行的刷新)。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
end-time |
仅限输出。当目录刷新结束时,取消设置正在进行的刷新。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
status |
仅限输出。上次后台元数据刷新操作的状态,对于正在进行的刷新,此字段未设置。 |
CrossCloudCacheOptions
用于跨云缓存数据和元数据文件的配置选项。
| JSON 表示法 |
|---|
{ "enabled": boolean } |
| 字段 | |
|---|---|
enabled |
可选。指定是否启用数据和元数据文件的跨云缓存。这只会影响通过 BigQuery 进行的查询。 如果此值为 如果此值为 |
方法 |
|
|---|---|
|
创建 Iceberg REST Catalog。 |
|
删除 Iceberg REST Catalog。 |
|
将目录故障切换到新的主副本区域。 |
|
返回 Iceberg REST Catalog 配置选项。 |
|
列出 Iceberg REST Catalog。 |
|
更新 Iceberg REST Catalog 配置选项。 |