create-bucket-metadata-configuration

更新时间:
复制 MD 格式

create-bucket-metadata-configuration命令用于为Bucket创建元数据管理(Metadata)配置,包含变更日志表(Journal Table)以及可选的动态清单表(Live Inventory Table)。

注意事项

重要

元数据管理(Metadata)当前为邀测功能,尚未对所有用户开放,且仅在已开放Table Bucket的地域提供。如需使用,请联系技术支持申请。此外,您也可以通过OSS控制台开启、修改或关闭元数据管理功能。

阿里云账号默认拥有为Bucket创建元数据配置的权限。如果您需要通过RAM用户或者STS的方式进行操作,您必须拥有oss:CreateBucketMetadataTableConfiguration权限。具体操作,请参见为RAM用户授予自定义的权限策略。

命令格式

ossutil api create-bucket-metadata-configuration --bucket examplebucket --metadata-configuration file://metadata-configuration.xml

参数

类型

说明

--bucket

string

目标Bucket的名称。

--metadata-configuration

string

元数据表配置容器,支持XML和JSON格式。当选项值包含file://前缀时,表示从文件中读取配置。

--metadata-configuration

--metadata-configuration配置选项支持XML和JSON语法,当选项值包含file://前缀时,表示从文件中读取配置。示例配置文件metadata-configuration.xml的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<MetadataConfiguration>
  <JournalTableConfiguration>
    <RecordExpiration>
      <Expiration>ENABLED</Expiration>
      <Days>7</Days>
    </RecordExpiration>
  </JournalTableConfiguration>
  <InventoryTableConfiguration>
    <ConfigurationState>ENABLED</ConfigurationState>
    <EncryptionConfiguration>
      <SseAlgorithm>AES256</SseAlgorithm>
    </EncryptionConfiguration>
  </InventoryTableConfiguration>
</MetadataConfiguration>

等效的JSON语法如下:

{
  "JournalTableConfiguration": {
    "RecordExpiration": {
      "Expiration": "ENABLED",
      "Days": 7
    }
  },
  "InventoryTableConfiguration": {
    "ConfigurationState": "ENABLED",
    "EncryptionConfiguration": {
      "SseAlgorithm": "AES256"
    }
  }
}

参数

类型

是否必填

说明

JournalTableConfiguration

Container

是

变更日志表配置。

JournalTableConfiguration.RecordExpiration

Container

是

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

JournalTableConfiguration.RecordExpiration.Expiration

String

是

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

JournalTableConfiguration.RecordExpiration.Days

Integer

条件必填

记录过期天数。Expiration 为 ENABLED 时必填,取值为正整数。

JournalTableConfiguration.EncryptionConfiguration

Container

否

变更日志表加密配置。

JournalTableConfiguration.EncryptionConfiguration.SseAlgorithm

String

条件必填

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

JournalTableConfiguration.EncryptionConfiguration.KmsKeyArn

String

条件必填

KMS 密钥 ARN。SseAlgorithm 为 SSE-KMS 时必填。

InventoryTableConfiguration

Container

否

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

InventoryTableConfiguration.ConfigurationState

String

条件必填

传入 InventoryTableConfiguration 时必填。取值:ENABLED、DISABLED。

InventoryTableConfiguration.EncryptionConfiguration

Container

否

动态清单表加密配置。

InventoryTableConfiguration.EncryptionConfiguration.SseAlgorithm

String

条件必填

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

说明

本命令需要ossutil 2.4.1及以上版本。更低版本请通过泛化命令invoke-operation调用对应接口。

关于支持的全局命令行选项,请参见支持的全局命令行选项。

使用示例

为Bucket examplebucket 创建元数据配置:启用变更日志表并将记录过期时间设置为7天,同时启用动态清单表并使用 AES256 加密。配置文件 metadata-configuration.xml 的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<MetadataConfiguration>
  <JournalTableConfiguration>
    <RecordExpiration>
      <Expiration>ENABLED</Expiration>
      <Days>7</Days>
    </RecordExpiration>
  </JournalTableConfiguration>
  <InventoryTableConfiguration>
    <ConfigurationState>ENABLED</ConfigurationState>
    <EncryptionConfiguration>
      <SseAlgorithm>AES256</SseAlgorithm>
    </EncryptionConfiguration>
  </InventoryTableConfiguration>
</MetadataConfiguration>

也可以改用JSON格式的配置文件 metadata-configuration.json,内容如下:

{
  "JournalTableConfiguration": {
    "RecordExpiration": {
      "Expiration": "ENABLED",
      "Days": 7
    }
  },
  "InventoryTableConfiguration": {
    "ConfigurationState": "ENABLED",
    "EncryptionConfiguration": {
      "SseAlgorithm": "AES256"
    }
  }
}

命令示例如下:

ossutil api create-bucket-metadata-configuration --bucket examplebucket --metadata-configuration file://metadata-configuration.xml
ossutil api create-bucket-metadata-configuration --bucket examplebucket --metadata-configuration file://metadata-configuration.json