Configura a manutenção automática de uma tabela específica. Tipos de manutenção compatíveis: icebergCompaction, que mescla arquivos pequenos para melhorar o desempenho das consultas, e icebergSnapshotManagement, que exclui snapshots expirados para reduzir a sobrecarga de armazenamento.
Notas de uso
Configure apenas um tipo de manutenção por chamada.
Permissões
|
API |
Action |
Descrição |
|
PutTableMaintenanceConfiguration |
oss:PutTableMaintenanceConfiguration |
Define a configuração de manutenção da tabela e verifica a política da tabela. |
Sintaxe da solicitação
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"
}
}
}
}
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
tableBucketARN |
string |
Sim |
acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket |
Alibaba Cloud Resource Name (ARN) do bucket de tabelas. Formato: |
|
namespace |
string |
Sim |
my_namespace |
Nome do namespace da tabela. |
|
name |
string |
Sim |
my_table |
Nome da tabela. |
|
type |
string |
Sim |
icebergCompaction |
Tipo de manutenção. Valores válidos: |
|
value |
container |
Sim |
- |
Contêiner da configuração de manutenção. Nó pai: Nenhum Nós filhos: status, settings |
|
status |
string |
Não |
enabled |
Status da configuração de manutenção. Valores válidos: Nó pai: value |
|
settings |
container |
Não |
- |
Contêiner dos parâmetros de configuração. Nó pai: value Nós filhos: icebergCompaction, icebergSnapshotManagement |
|
icebergCompaction |
container |
Não |
- |
Configuração de compactação de tabela Iceberg. Nó pai: settings Nós filhos: targetFileSizeMB, strategy |
|
targetFileSizeMB |
integer |
Não |
100 |
Tamanho alvo do arquivo em MB após a compactação. O valor deve ser um inteiro entre 1 e 2.147.483.647. Nó pai: icebergCompaction |
|
strategy |
string |
Não |
auto |
Estratégia de compactação. Valores válidos: Nó pai: icebergCompaction |
|
icebergSnapshotManagement |
container |
Não |
- |
Configuração de gerenciamento de snapshot Iceberg. Nó pai: settings Nós filhos: minSnapshotsToKeep, maxSnapshotAgeHours |
|
minSnapshotsToKeep |
integer |
Não |
3 |
Número mínimo de snapshots a reter. O valor deve ser um inteiro entre 1 e 2.147.483.647. Nó pai: icebergSnapshotManagement |
|
maxSnapshotAgeHours |
integer |
Não |
72 |
Idade máxima do snapshot em horas antes de se tornar elegível para exclusão. O valor deve ser um inteiro entre 1 e 2.147.483.647. Nó pai: icebergSnapshotManagement |
Exemplos
Exemplo 1: Configure compactação de tabela Iceberg
Exemplo de solicitação
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"
}
}
}
}
Exemplo de resposta
HTTP/1.1 204 No Content
Server: AliyunOSS
x-oss-request-id: 5C06A3B67B8B5A3DA422****
x-oss-server-time: 3
Exemplo 2: Configure gerenciamento de snapshot Iceberg
Exemplo de solicitação
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
}
}
}
}
Exemplo de resposta
HTTP/1.1 204 No Content
Server: AliyunOSS
x-oss-request-id: 5C06A3B67B8B5A3DA422****
x-oss-server-time: 3
SDKs
Os SDKs a seguir oferecem suporte a esta operação:
ossutil CLI
O comando correspondente do ossutil é put-table-maintenance-configuration.
Códigos de erro
|
Código de erro |
Código de status HTTP |
Descrição |
|
BadRequestException |
400 |
A solicitação é inválida ou malformada. |
|
ForbiddenException |
403 |
Permissão insuficiente para executar esta solicitação. |
|
NotFoundException |
404 |
O recurso solicitado não existe. |