PutTableMaintenanceConfiguration

更新時間:
Copy as MD

調用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 BucketARN,格式為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

請求的資源不存在。