PutTableMaintenanceConfiguration
調用PutTableMaintenanceConfiguration介面設定指定表的自動維護配置。支援的維護類型(type):icebergCompaction(Iceberg表壓縮,將小檔案合并為大檔案以提升查詢效能)和icebergSnapshotManagement(Iceberg快照管理,自動清理到期快照以減少儲存開銷)。
注意事項
-
每次調用只能設定一種維護類型的配置。
許可權說明
|
API |
Action |
說明 |
|
PutTableMaintenanceConfiguration |
oss:PutTableMaintenanceConfiguration |
設定表維護配置(同時檢查Table Policy) |
請求文法
PUT /tables/{tableBucketARN}/{namespace}/{name}/maintenance/{type} HTTP/1.1
Content-type: application/json
Host: cn-hangzhou.oss-tables.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
{
"value": {
"status": "string",
"settings": {
"icebergCompaction": {
"targetFileSizeMB": number,
"strategy": "string"
}
}
}
}
請求參數
|
名稱 |
資料類型 |
是否必選 |
樣本值 |
描述 |
|
tableBucketARN |
字串 |
是 |
acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket |
Table Bucket的ARN,格式為acs:osstables:{region}:{uid}:bucket/{bucketName}。位於URI中。 |
|
namespace |
字串 |
是 |
my_namespace |
表所在的命名空間名稱。位於URI中。 |
|
name |
字串 |
是 |
my_table |
表名稱。位於URI中。 |
|
type |
字串 |
是 |
icebergCompaction |
維護類型,取值為icebergCompaction(Iceberg表壓縮)或icebergSnapshotManagement(Iceberg快照管理)。位於URI中。 |
|
value |
容器 |
是 |
- |
維護配置值。位於請求體中。 父節點:無 子節點:status, settings |
|
status |
字串 |
否 |
enabled |
啟用狀態,取值 enabled 或 disabled。 父節點:value |
|
settings |
容器 |
否 |
- |
配置參數對象。 父節點:value 子節點:icebergCompaction、icebergSnapshotManagement |
|
icebergCompaction |
容器 |
否 |
- |
Iceberg 表壓縮的詳細配置 父節點:settings 子節點:targetFileSizeMB、strategy |
|
targetFileSizeMB |
整型 |
否 |
100 |
壓縮後的目標檔案大小MB),取值範圍 1-2147483647。 父節點:icebergCompaction |
|
strategy |
字串 |
否 |
auto |
壓縮策略,取值 auto/binpack/sort/z-order。 父節點:icebergCompaction |
|
icebergSnapshotManagement |
容器 |
否 |
- |
Iceberg 快照管理的詳細配置 父節點:settings 子節點:minSnapshotsToKeepor、maxSnapshotAgeHours |
|
minSnapshotsToKeepor |
整型 |
否 |
3 |
最少保留快照數,取值範圍 1-2147483647 父節點:icebergSnapshotManagement |
|
maxSnapshotAgeHours |
整型 |
否 |
72 |
快照最大保留時間(小時),取值範圍 1-2147483647 父節點:icebergSnapshotManagement |
樣本
樣本1:設定壓縮配置(icebergCompaction)
請求樣本
PUT /tables/acs%3Aosstables%3Acn-hangzhou%3A1234567890%3Abucket%2Fmy-table-bucket/my_namespace/my_table/maintenance/icebergCompaction HTTP/1.1
Content-type: application/json
Host: cn-hangzhou.oss-tables.aliyuncs.com
Date: Thu, 10 Apr 2025 08:00:00 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/osstables/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c****
{
"value": {
"status": "enabled",
"settings": {
"icebergCompaction": {
"targetFileSizeMB": 100,
"strategy": "auto"
}
}
}
}
返回樣本
HTTP/1.1 204 No Content
Server: AliyunOSS
x-oss-request-id: 5C06A3B67B8B5A3DA422****
x-oss-server-time: 3
樣本2:設定快照管理配置(icebergSnapshotManagement)
請求樣本
PUT /tables/acs%3Aosstables%3Acn-hangzhou%3A1234567890%3Abucket%2Fmy-table-bucket/my_namespace/my_table/maintenance/icebergSnapshotManagement HTTP/1.1
Content-type: application/json
Host: cn-hangzhou.oss-tables.aliyuncs.com
Date: Thu, 10 Apr 2025 08:00:00 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/osstables/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c****
{
"value": {
"status": "enabled",
"settings": {
"icebergSnapshotManagement": {
"minSnapshotsToKeep": 3,
"maxSnapshotAgeHours": 72
}
}
}
}
返回樣本
HTTP/1.1 204 No Content
Server: AliyunOSS
x-oss-request-id: 5C06A3B67B8B5A3DA422****
x-oss-server-time: 3
SDK
PutTableMaintenanceConfiguration介面所對應的各語言SDK如下:
命令列工具ossutil
PutTableMaintenanceConfiguration介面所對應的ossutil命令,請參見put-table-maintenance-configuration。
錯誤碼
|
錯誤碼 |
HTTP狀態代碼 |
描述 |
|
BadRequestException |
400 |
請求無效或格式錯誤。 |
|
ForbiddenException |
403 |
調用者無權執行此請求。 |
|
NotFoundException |
404 |
請求的資源不存在。 |