PutTableMaintenanceConfiguration

更新时间:
复制 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

请求的资源不存在。