Met à jour l'emplacement du fichier de métadonnées d'une table spécifiée.
Notes d'utilisation
Redirige une table vers un nouveau fichier de métadonnées, ce qui permet l'évolution du schéma et les validations de données (commits).
Requiert le
versionTokenactuel pour le verrouillage optimiste, afin de garantir la cohérence lors des mises à jour concurrentes.Obtenez le
versionTokenen appelant l'opérationGetTableMetadataLocationouGetTable.Le nouveau
metadataLocationdoit pointer vers un fichier JSON de métadonnées Iceberg valide.
Permissions
|
API |
Action |
Description |
|
UpdateTableMetadataLocation |
oss:UpdateTableMetadataLocation |
Met à jour l'emplacement des métadonnées d'une table. Cette opération vérifie également la politique de la table. |
Syntaxe de la requête
PUT /tables/{tableBucketARN}/{namespace}/{name}/metadata-location HTTP/1.1
Content-type: application/json
Host: cn-hangzhou.oss-tables.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
{
"versionToken": "string",
"metadataLocation": "string"
}
Paramètres de la requête
|
Parameter |
Type |
Required |
Example |
Description |
|
tableBucketARN |
String |
Yes |
acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket |
L'ARN du bucket de la table. Format : |
|
namespace |
String |
Yes |
my_namespace |
Le nom du namespace de la table. Ce paramètre figure dans l'URI. |
|
name |
String |
Yes |
my_table |
Le nom de la table. Ce paramètre figure dans l'URI. |
|
versionToken |
String |
Yes |
aaabbb |
Le jeton de version actuel pour le verrouillage optimiste. Obtenez ce jeton en appelant l'opération |
|
metadataLocation |
String |
Yes |
oss://data-bucket/metadata/00001-xxx.metadata.json |
Le chemin OSS vers le nouveau fichier de métadonnées. Doit pointer vers un fichier JSON de métadonnées Iceberg valide. Ce paramètre figure dans le corps de la requête. |
Paramètres de la réponse
|
Parameter |
Type |
Example |
Description |
|
metadataLocation |
String |
oss://bucket/metadata/00000-xxx.metadata.json |
Le chemin OSS mis à jour du fichier de métadonnées. |
|
name |
String |
my_table |
Le nom de la table. |
|
namespace |
Array |
- |
Le namespace de la table, renvoyé sous forme de tableau. |
|
tableARN |
String |
acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket/table/table-id |
L'ARN de la table. |
|
versionToken |
String |
abc123def456 |
Le jeton de version mis à jour. |
Exemples
Exemple de requête
PUT /tables/acs%3Aosstables%3Acn-hangzhou%3A1234567890%3Abucket%2Fmy-table-bucket/my_namespace/my_table/metadata-location 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****
{
"versionToken": "aaabbb",
"metadataLocation": "oss://data-bucket/metadata/00001-xxx.metadata.json"
}
Exemple de réponse
HTTP/1.1 200 OK
Server: AliyunOSS
x-oss-request-id: 5C06A3B67B8B5A3DA422****
x-oss-server-time: 3
Content-Type: application/json
{
"metadataLocation": "oss://data-bucket/metadata/00001-xxx.metadata.json",
"name": "my_table",
"namespace": ["my_namespace"],
"tableARN": "acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket/table/table_id",
"versionToken": "cccbbb"
}
SDK
Les SDK suivants prennent en charge l'opération UpdateTableMetadataLocation :
CLI ossutil
Pour la commande ossutil correspondante, consultez update-table-metadata-location.
Codes d'erreur
|
Error code |
HTTP status code |
Description |
|
BadRequestException |
400 |
La requête n'est pas valide ou est mal formée. |
|
ForbiddenException |
403 |
L'appelant ne dispose pas des autorisations requises pour effectuer cette opération. |
|
NotFoundException |
404 |
La ressource demandée n'existe pas. |
|
ConflictException |
409 |
La requête entre en conflit avec une opération d'écriture précédente. |