调用CreateBucketMetadataConfiguration接口为通用型 Bucket 开启元数据管理(Metadata)功能。该接口可同时配置变更日志表(Journal Table)的记录过期与加密,以及是否开启动态清单表(Live Inventory Table)。
权限说明
阿里云账号默认拥有全部权限。阿里云账号下的 RAM 用户或 RAM 角色默认没有任何权限,需要阿里云账号或账号管理员授予操作权限。
|
API |
Action |
说明 |
|
CreateBucketMetadataConfiguration |
|
开启元数据管理功能。 |
开启功能时,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。