put-bucket-replication

put-bucket-replication用于为存储空间(Bucket)指定数据复制规则。OSS支持跨区域复制(Cross-Region Replication)和同区域复制(Same-Region Replication)。

注意事项

关于数据复制的更多信息,请分别参见跨区域复制同区域复制

权限说明

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

API

Action

说明

PutBucketReplication

oss:PutBucketReplication

Bucket配置数据复制规则。

oss:ReplicateGet

如果是跨账号复制,或者指定了RAM角色方式的复制,则源Bucket和目标Bucket都需要此操作的权限。

命令格式

ossutil api put-bucket-replication --bucket value --replication-configuration value [flags]

参数

类型

说明

--bucket

string

Bucket名称。

--replication-configuration

string

数据复制配置信息。

说明

put-bucket-replication命令对应API接口PutBucketReplication。关于API中的具体参数含义,请参见PutBucketReplication

--replication-configuration

--replication-configuration 配置选项既支持XML语法也支持JSON语法。

  • XML语法:

    <ReplicationConfiguration>
        <Rule>
            <PrefixSet>
                <Prefix>string</Prefix>
                <Prefix>string</Prefix>
            </PrefixSet>
            <Action>string</Action>
            <Destination>
                <Bucket>string</Bucket>
                <Location>string</Location>
                <TransferType>string</TransferType>
            </Destination>
            <HistoricalObjectReplication>string</HistoricalObjectReplication>
        </Rule>
    </ReplicationConfiguration>
  • JSON语法:

    {
        "Rule": {
            "PrefixSet": {
                "Prefix": [
                    "string",
                    "string"
                ]
            },
            "Action": "string",
            "Destination": {
                "Bucket": "string",
                "Location": "string",
                "TransferType": "string"
            },
            "HistoricalObjectReplication": "enabled"
        }
    }
说明

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

使用示例

为存储空间examplebucket设置数据复制规则。

  • 使用XML配置文件,cors-configuration.xml内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <ReplicationConfiguration>
        <Rule>     
            <PrefixSet>
                <Prefix>prefix_1</Prefix>
                <Prefix>prefix_2</Prefix>
            </PrefixSet>
            <Action>PUT</Action>
            <Destination>
                <Bucket>destBucket</Bucket>
                <Location>oss-cn-hangzhou</Location>
                <TransferType>oss_acc</TransferType>
            </Destination>
            <HistoricalObjectReplication>enabled</HistoricalObjectReplication>
        </Rule>
    </ReplicationConfiguration>
    ossutil api put-bucket-replication --bucket examplebucket --replication-configuration file://replication-configuration.xml
  • 使用JSON配置文件,replication-configuration.json 内容如下:

    {
        "Rule": {
            "PrefixSet": {
                "Prefix": [
                    "prefix_1",
                    "prefix_2"
                ]
            },
            "Action": "PUT",
            "Destination": {
                "Bucket": "destBucket",
                "Location": "oss-cn-hangzhou",
                "TransferType": "oss_acc"
            },
            "HistoricalObjectReplication": "enabled"
        }
    }
    
    ossutil api put-bucket-replication --bucket examplebucket --replication-configuration file://replication-configuration.json
  • 使用JSON配置参数,命令示例如下:

    ossutil api put-bucket-replication --bucket examplebucket --replication-configuration "{\"Rule\":{\"PrefixSet\":{\"Prefix\":[\"prefix_1\",\"prefix_2\"]},\"Action\":\"PUT\",\"Destination\":{\"Bucket\":\"destBucket\",\"Location\":\"oss-cn-hangzhou\",\"TransferType\":\"oss_acc\"},\"HistoricalObjectReplication\":\"enabled\"}}"