すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:UpdateTableMetadataLocation

最終更新日:May 09, 2026

指定されたテーブルのメタデータファイルの場所を更新します。

注意事項

  • この操作を使用して、テーブルを新しいメタデータファイルにポイントできます。これにより、スキーマ進化やデータコミットなどの操作が可能になります。

  • 楽観的ロックを実装し、同時更新時の整合性を確保するには、現在の versionToken を提供する必要があります。

  • versionToken は、GetTableMetadataLocation 操作または GetTable 操作を呼び出すことで取得できます。

  • 新しい metadataLocation は、有効な Iceberg メタデータ JSON ファイルを指している必要があります。

権限

API

アクション

説明

UpdateTableMetadataLocation

oss:UpdateTableMetadataLocation

テーブルのメタデータの場所を更新します。この操作では、テーブルポリシーもチェックされます。

リクエスト構文

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"
}

リクエストパラメーター

パラメーター

タイプ

必須

説明

tableBucketARN

String

はい

acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket

テーブルのバケットの ARN。形式:acs:osstables:{region}:{uid}:bucket/{bucketName}。このパラメーターは URI 内にあります。

namespace

String

はい

my_namespace

テーブルの名前空間の名前。このパラメーターは URI 内にあります。

name

String

はい

my_table

テーブルの名前。このパラメーターは URI 内にあります。

versionToken

String

はい

aaabbb

現在のバージョンのトークンで、楽観的ロックに使用されます。GetTableMetadataLocation 操作または GetTable 操作を呼び出すことでこのトークンを取得できます。このパラメーターはリクエストボディ内にあります。

metadataLocation

String

はい

oss://data-bucket/metadata/00001-xxx.metadata.json

新しいメタデータファイルの OSS パス。これは有効な Iceberg メタデータ JSON ファイルを指している必要があります。このパラメーターはリクエストボディ内にあります。

応答パラメーター

パラメーター

タイプ

説明

metadataLocation

String

oss://bucket/metadata/00000-xxx.metadata.json

更新されたメタデータファイルの OSS パス。

name

String

my_table

テーブルの名前。

namespace

Array

-

テーブルの名前空間の名前を含む配列。

tableARN

String

acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket/table/table-id

テーブルの ARN。

versionToken

String

abc123def456

更新されたバージョントークン。

使用例

リクエスト例

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"
}

レスポンス例

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

以下の SDK は UpdateTableMetadataLocation 操作をサポートしています。

ossutil CLI

対応する ossutil コマンドについては、「update-table-metadata-location」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

BadRequestException

400

リクエストが無効または不正な形式です。

ForbiddenException

403

呼び出し元にこの操作を実行するための必要な権限がありません。

NotFoundException

404

要求されたリソースが存在しません。

ConflictException

409

リクエストが以前の書き込み操作と競合しています。