指定されたテーブルの自動メンテナンス構成を設定します。サポートされるタイプは、icebergCompaction(Iceberg テーブルコンパクション)と icebergSnapshotManagement(Iceberg スナップショット管理)です。icebergCompaction は小規模ファイルをマージしてクエリパフォーマンスを向上させ、icebergSnapshotManagement は期限切れのスナップショットを削除してストレージオーバーヘッドを軽減します。
注意事項
-
1 回の呼び出しで設定できるメンテナンスタイプは 1 つだけです。
権限
|
API |
操作 |
説明 |
|
PutTableMaintenanceConfiguration |
oss:PutTableMaintenanceConfiguration |
テーブルメンテナンス構成を設定し、テーブルポリシーをチェックします。 |
リクエスト構文
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 |
テーブルバケットの Alibaba Cloud リソースネーム (ARN)。形式は |
|
namespace |
文字列 |
はい |
my_namespace |
テーブルの名前空間の名前。 |
|
name |
文字列 |
はい |
my_table |
テーブル名。 |
|
type |
文字列 |
はい |
icebergCompaction |
メンテナンスタイプ。有効な値: |
|
value |
コンテナ |
はい |
- |
メンテナンス構成のコンテナ。 親ノード:なし 子ノード:status、settings |
|
status |
文字列 |
いいえ |
enabled |
メンテナンス構成のステータス。有効な値: 親ノード:value |
|
settings |
コンテナ |
いいえ |
- |
構成パラメーターのコンテナ。 親ノード:value 子ノード:icebergCompaction、icebergSnapshotManagement |
|
icebergCompaction |
コンテナ |
いいえ |
- |
Iceberg テーブルコンパクションの詳細構成のコンテナ。 親ノード:settings 子ノード:targetFileSizeMB、strategy |
|
targetFileSizeMB |
整数 |
いいえ |
100 |
コンパクション後のターゲットファイルサイズ(単位:MB)。値は 1 ~ 2,147,483,647 の整数である必要があります。 親ノード:icebergCompaction |
|
strategy |
文字列 |
いいえ |
auto |
コンパクション戦略。有効な値: 親ノード:icebergCompaction |
|
icebergSnapshotManagement |
コンテナ |
いいえ |
- |
Iceberg スナップショット管理の詳細構成のコンテナ。 親ノード:settings 子ノード:minSnapshotsToKeep、maxSnapshotAgeHours |
|
minSnapshotsToKeep |
整数 |
いいえ |
3 |
保持するスナップショットの最小数。値は 1 ~ 2,147,483,647 の整数である必要があります。 親ノード:icebergSnapshotManagement |
|
maxSnapshotAgeHours |
整数 |
いいえ |
72 |
削除対象となるスナップショットの最大経過時間(単位:時間)。値は 1 ~ 2,147,483,647 の整数である必要があります。 親ノード:icebergSnapshotManagement |
使用例
例 1:Iceberg テーブルコンパクションの構成
リクエスト例
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:Iceberg スナップショット管理の構成
リクエスト例
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
この操作は、以下の SDK を使用して呼び出すことができます。
ossutil CLI
対応する ossutil コマンドは put-table-maintenance-configuration です。
エラーコード
|
エラーコード |
HTTP ステータスコード |
説明 |
|
BadRequestException |
400 |
リクエストが無効または不正な形式です。 |
|
ForbiddenException |
403 |
このリクエストを実行する権限がありません。 |
|
NotFoundException |
404 |
要求されたリソースが存在しません。 |