更新Table中繼資料位置
更新指定表的中繼資料(metadata)檔案儲存體位置,通常在Iceberg表提交新的中繼資料快照後使用。
注意事項
--version-token參數用於樂觀鎖控制,必須先通過get-table-metadata-location命令擷取當前的versionToken,再傳入該參數。如果在擷取versionToken之後、更新之前,有其他用戶端更新了中繼資料位置,則本次更新會失敗,以防止並發衝突覆蓋。
--metadata-location參數指定新的中繼資料檔案路徑,該路徑必須是有效Iceberg metadata檔案路徑。
--metadata-location和--version-token均為必選參數。
命令格式
ossutil tables-api update-table-metadata-location --table-bucket-arn value --namespace value --name value --metadata-location value --version-token value [flags]參數 | 類型 | 說明 |
--metadata-location | string | 新的中繼資料檔案路徑,必須是有效Iceberg metadata檔案儲存體路徑。必選參數。 |
--name | string | 表名稱。必選參數。 |
--namespace | string | 表所屬的命名空間名稱。必選參數。 |
--table-bucket-arn | string | Table Bucket的ARN,格式為 |
--version-token | string | 版本令牌,用於樂觀鎖控制。需通過get-table-metadata-location命令擷取當前的versionToken值後傳入,確保更新操作在最新版本基礎上進行。必選參數。 |
update-table-metadata-location命令對應API介面UpdateTableMetadataLocation。關於API中的具體參數含義,請參見UpdateTableMetadataLocation。
關於支援的全域命令列選項,請參見ossutil全域選項。
使用樣本
更新my_table表的中繼資料檔案位置,指定新的中繼資料路徑和版本令牌。
ossutil tables-api update-table-metadata-location --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name my_table --metadata-location oss://my-table-bucket/metadata/my_namespace/my_table/metadata/00001-abc123.metadata.json --version-token abc123def456