CreateBucketMetadataConfiguration

更新时间:
复制 MD 格式

调用CreateBucketMetadataConfiguration接口为通用型 Bucket 开启元数据管理(Metadata)功能。该接口可同时配置变更日志表(Journal Table)的记录过期与加密,以及是否开启动态清单表(Live Inventory Table)。

权限说明

阿里云账号默认拥有全部权限。阿里云账号下的 RAM 用户或 RAM 角色默认没有任何权限,需要阿里云账号或账号管理员授予操作权限。

API

Action

说明

CreateBucketMetadataConfiguration

oss:CreateBucketMetadataTableConfiguration

开启元数据管理功能。

开启功能时,OSS 需要创建并管理托管表资源,因此还需具备以下依赖权限:

  • osstables:CreateTableBucket

  • osstables:CreateNamespace

  • osstables:GetTable

  • osstables:CreateTable

  • osstables:PutTablePolicy

  • osstables:PutTableEncryption

  • kms:DescribeKey

请求语法

POST /?metadataConfiguration HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Content-Length: ContentLength
Content-MD5: MD5Value
Authorization: SignatureValue

<?xml version="1.0" encoding="UTF-8"?>
<MetadataConfiguration>
   <JournalTableConfiguration>
      <RecordExpiration>
         <Expiration>ENABLED</Expiration>
         <Days>7</Days>
      </RecordExpiration>
      <EncryptionConfiguration>
         <SseAlgorithm>SSE-KMS</SseAlgorithm>
         <KmsKeyArn>acs:kms:cn-hangzhou:123456789012****:key/key-id</KmsKeyArn>
      </EncryptionConfiguration>
   </JournalTableConfiguration>
   <InventoryTableConfiguration>
      <ConfigurationState>ENABLED</ConfigurationState>
      <EncryptionConfiguration>
         <SseAlgorithm>SSE-KMS</SseAlgorithm>
         <KmsKeyArn>acs:kms:cn-hangzhou:123456789012****:key/key-id</KmsKeyArn>
      </EncryptionConfiguration>
   </InventoryTableConfiguration>
</MetadataConfiguration>

请求头

名称

类型

是否必选

描述

Content-MD5

字符串

否

请求体的 MD5 校验值。

x-oss-expected-bucket-owner

字符串

否

预期的 Bucket 拥有者账号 ID。

请求元素

名称

类型

是否必选

描述

MetadataConfiguration

容器

是

元数据管理配置的根节点。

父节点:无

JournalTableConfiguration

容器

是

变更日志表配置。

父节点:MetadataConfiguration

JournalTableConfiguration.RecordExpiration

容器

是

变更日志表的记录过期配置。

父节点:JournalTableConfiguration

JournalTableConfiguration.RecordExpiration.Expiration

字符串

是

记录过期开关。取值:ENABLED、DISABLED。

父节点:RecordExpiration

JournalTableConfiguration.RecordExpiration.Days

整数

条件必选

记录过期天数,为正整数。当 Expiration 为 ENABLED 时必选。

父节点:RecordExpiration

JournalTableConfiguration.EncryptionConfiguration

容器

否

变更日志表的加密配置。

父节点:JournalTableConfiguration

JournalTableConfiguration.EncryptionConfiguration.SseAlgorithm

字符串

条件必选

加密算法。传入 EncryptionConfiguration 时必选。

父节点:EncryptionConfiguration

JournalTableConfiguration.EncryptionConfiguration.KmsKeyArn

字符串

条件必选

KMS 密钥 ARN。当 SseAlgorithm 为 SSE-KMS 时必选。

父节点:EncryptionConfiguration

InventoryTableConfiguration

容器

否

动态清单表配置,可在开启时一并启用。

父节点:MetadataConfiguration

InventoryTableConfiguration.ConfigurationState

字符串

条件必选

动态清单表启用状态。传入 InventoryTableConfiguration 时必选。取值:ENABLED、DISABLED。

父节点:InventoryTableConfiguration

InventoryTableConfiguration.EncryptionConfiguration

容器

否

动态清单表的加密配置。

父节点:InventoryTableConfiguration

响应

开启成功时返回 HTTP 状态码 200,响应体为空。

响应头

此接口仅涉及公共响应头。更多信息,请参见公共响应头(Common Response Headers)。

示例

  • 请求示例

    POST /?metadataConfiguration HTTP/1.1
    Host: examplebucket.oss-cn-hangzhou.aliyuncs.com
    Date: Wed, 16 Sep 2026 12:00:00 GMT
    Authorization: SignatureValue
    
    <?xml version="1.0" encoding="UTF-8"?>
    <MetadataConfiguration>
       <JournalTableConfiguration>
          <RecordExpiration>
             <Expiration>ENABLED</Expiration>
             <Days>7</Days>
          </RecordExpiration>
       </JournalTableConfiguration>
       <InventoryTableConfiguration>
          <ConfigurationState>ENABLED</ConfigurationState>
       </InventoryTableConfiguration>
    </MetadataConfiguration>
  • 返回示例

    HTTP/1.1 200 OK

SDK

CreateBucketMetadataConfiguration 接口所对应的各语言 SDK 如下:

命令行工具ossutil

CreateBucketMetadataConfiguration 接口所对应的 ossutil 命令,请参见create-bucket-metadata-configuration。