- 资源:IcebergCatalog
- CredentialMode
- CatalogType
- 副本
- 州/省/直辖市/自治区
- RestrictedLocationsConfig
- FederatedCatalogOptions
- UnityCatalogInfo
- GlueCatalogInfo
- SnowflakeCatalogInfo
- RefreshOptions
- RefreshSchedule
- RefreshScope
- RefreshStatus
- 方法
资源:IcebergCatalog
Iceberg REST Catalog 信息。
| JSON 表示法 |
|---|
{ "name": string, "credential-mode": enum ( |
| 字段 | |
|---|---|
name |
标识符。目录名称, |
credential-mode |
可选。目录的凭据模式。 |
biglake-service-account |
仅限输出。用于凭据自动售卖的服务账号,仅限输出。如果从未为目录启用凭据自动售卖,则可能为空。对于联合目录,系统将始终预配服务账号,并使用该账号通过访问 Secret Manager 密文或身份联合来访问远程 Iceberg REST 目录。 |
biglake-service-account-id |
仅限输出。服务账号的唯一 ID。这用于联合场景。 |
catalog-type |
必需。目录类型。对于 catalogs.create 而言必填。目录类型是不可变的,但从 CATALOG_TYPE_GCS_BUCKET 转换为 CATALOG_TYPE_BIGLAKE 的情况除外。 |
default-location |
可选。目录的默认存储位置,例如 对于 BigLake 目录,必须提供此字段,并且该字段必须指向 Google Cloud Storage 存储桶或该存储桶中的路径。此路径用作构建表的数据和元数据目录完整路径的基本目录,前提是在命名空间或表级别未指定位置。完整路径是通过将命名空间和表标识符附加到默认位置来形成的。 |
storage-regions[] |
仅限输出。默认位置的存储桶的 Google Cloud 区域,例如 |
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 |
可选。联合目录的配置选项。 |
CredentialMode
目录所用的凭据模式。
| 枚举 | |
|---|---|
CREDENTIAL_MODE_UNSPECIFIED |
默认值。此值未使用。 |
CREDENTIAL_MODE_END_USER |
最终用户凭据,默认。进行身份验证的用户必须有权访问目录资源和相应的 Google Cloud Storage 文件。 |
CREDENTIAL_MODE_VENDED_CREDENTIALS |
使用凭据自动售卖。进行身份验证的用户必须有权访问目录资源,并且系统会向调用方提供降级凭据,以访问 Google Cloud Storage 文件。在此模式下,所有表操作都需要包含值为 |
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 存储分区和位置(例如 如果 |
FederatedCatalogOptions
联邦目录的配置选项。
| JSON 表示法 |
|---|
{ "refresh-options": { object ( |
| 字段 | |
|---|---|
refresh-options |
可选。刷新配置。 |
refresh-status |
仅限输出。后台刷新操作的状态。 |
联合字段 remote_catalog_info。特定于远程 Iceberg REST Catalog 的信息。remote_catalog_info 只能是下列其中一项: |
|
unity-catalog-info |
可选。Databricks Unity Catalog 特有的信息。 |
glue-catalog-info |
可选。特定于 AWS Glue Catalog 的信息。 |
snowflake-catalog-info |
可选。特定于 Snowflake Catalog 的信息。 |
secret-name |
可选。Secret Manager 中的 Secret 资源名称,格式为 项目 ID 必须与目录的项目 ID 一致,位置必须与目录的位置一致。如果未指定版本,则使用最新版本。 如果设置了 |
service-directory-name |
可选。用于通过跨云互连经由专用网络连接路由流量的 Service Directory 资源名称,格式为 |
UnityCatalogInfo
Unity Catalog 信息。
| JSON 表示法 |
|---|
{ "instance-name": string, "catalog-name": string, "service-principal-application-id": string } |
| 字段 | |
|---|---|
instance-name |
必需。实例名称是登录 Databricks 部署时网址的第一部分。例如,对于 Databricks on Google Cloud 工作区网址 https://1.1.Google Cloud.databricks.com,实例名称为 1.1.Google Cloud.databricks.com。 |
catalog-name |
必需。Unity Catalog 中的目录名称。 |
service-principal-application-id |
可选。在 OIDC 身份验证流程中用于访问 Unity Catalog 的 Databricks 服务主账号的应用 ID。 |
GlueCatalogInfo
AWS Glue Catalog 信息。我们支持区域性 AWS Glue 默认账号目录和 S3 表存储分区。
| JSON 表示法 |
|---|
{ "warehouse": string, "aws-region": string, "aws-role-arn": string } |
| 字段 | |
|---|---|
warehouse |
必需。不可变。要连接到区域 AWS Glue Iceberg REST 目录的数据仓库。如需顶级访问权限,请使用 AWS 账号 ID(例如 111222333444)。对于 S3 表存储桶,数据仓库的格式为:111222333444:s3tablescatalog/ |
aws-region |
必需。不可变。要连接的 Glue 目录的 AWS 区域。该区域应与联合目录位于同一地理区域和管辖区。不得为空,且不可变。 |
aws-role-arn |
必需。联合目录将承担的 Glue 目录的 AWS 角色 ARN,以访问该目录。不得为空。可以更新。 |
SnowflakeCatalogInfo
Snowflake 目录信息。
| JSON 表示法 |
|---|
{ "account-identifier": string, "warehouse": string, "snowflake-role": string } |
| 字段 | |
|---|---|
account-identifier |
必需。Snowflake 中的账号标识符(请参阅:https://docs.snowflake.com/en/user-guide/admin-account-identifier))。它是登录 Snowflake 部署网址的前缀。例如:https:// |
warehouse |
必需。要连接的 Snowflake REST 目录中的仓库。https:// 这是包含要联合的 Iceberg 元数据的 Snowflake 数据库名称。 不得为空。 |
snowflake-role |
可选。要在 Iceberg REST Catalog 会话的 OAuth 令牌范围中请求的特定 Snowflake 角色名称(通过 session:role:$ROLE)。此角色授予 Google Cloud BigLake 服务账号与 Iceberg 目录、命名空间和表进行交互所需的权限。 注意:此处提供的角色必须是 DEFAULT_ROLE,或者必须授予给映射到 BigLake 服务账号的 Snowflake 服务用户。 |
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”。允许的命名空间过滤器数量上限为 32。 |
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 |
仅限输出。上次后台刷新操作的状态,对于正在进行的刷新,此字段未设置。 |
方法 |
|
|---|---|
|
创建 Iceberg REST Catalog。 |
|
删除 Iceberg REST Catalog。 |
|
将目录故障切换到新的主副本区域。 |
|
返回 Iceberg REST Catalog 配置选项。 |
|
列出 Iceberg REST Catalog。 |
|
更新 Iceberg REST Catalog 配置选项。 |