Memperbarui lokasi file metadata untuk tabel tertentu.
Usage notes
Operasi ini memungkinkan Anda mengarahkan tabel ke file metadata baru, sehingga mendukung operasi seperti evolusi skema dan komit data.
Anda harus menyediakan
versionTokensaat ini untuk menerapkan optimistic locking dan memastikan konsistensi selama pembaruan bersamaan.Anda dapat memperoleh
versionTokendengan memanggil operasiGetTableMetadataLocationatauGetTable.metadataLocationyang baru harus mengarah ke file JSON metadata Iceberg yang valid.
Permissions
API | Action | Description |
UpdateTableMetadataLocation | oss:UpdateTableMetadataLocation | Memperbarui lokasi metadata tabel. Operasi ini juga memeriksa kebijakan tabel. |
Request syntax
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"
}Request parameters
Parameter | Type | Required | Example | Description |
tableBucketARN | String | Yes | acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket | ARN bucket tabel. Format: |
namespace | String | Yes | my_namespace | Nama namespace tabel. Parameter ini berada di URI. |
name | String | Yes | my_table | Nama tabel. Parameter ini berada di URI. |
versionToken | String | Yes | aaabbb | Token untuk versi saat ini, digunakan untuk optimistic locking. Anda dapat memperoleh token ini dengan memanggil operasi |
metadataLocation | String | Yes | oss://data-bucket/metadata/00001-xxx.metadata.json | Jalur OSS ke file metadata baru. Jalur ini harus mengarah ke file JSON metadata Iceberg yang valid. Parameter ini berada di badan permintaan. |
Response parameters
Parameter | Type | Example | Description |
metadataLocation | String | oss://bucket/metadata/00000-xxx.metadata.json | Jalur OSS terbaru dari file metadata. |
name | String | my_table | Nama tabel. |
namespace | Array | - | Array yang berisi nama namespace tabel. |
tableARN | String | acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket/table/table-id | ARN tabel. |
versionToken | String | abc123def456 | Token versi yang diperbarui. |
Examples
Request example
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"
}Response example
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"
}SDKs
SDK berikut mendukung operasi UpdateTableMetadataLocation:
ossutil CLI
Untuk perintah ossutil yang sesuai, lihat update-table-metadata-location.
Error codes
Error code | HTTP status code | Description |
BadRequestException | 400 | Permintaan tidak valid atau rusak formatnya. |
ForbiddenException | 403 | Pemanggil tidak memiliki izin yang diperlukan untuk menjalankan operasi ini. |
NotFoundException | 404 | Resource yang diminta tidak ada. |
ConflictException | 409 | Permintaan bertentangan dengan operasi penulisan sebelumnya. |