put-bucket-replication用於為儲存空間(Bucket)指定資料複製規則。OSS支援跨地區複製(Cross-Region Replication)和同地區複製(Same-Region Replication)。
注意事項
許可權說明
阿里雲帳號預設擁有全部許可權。阿里雲帳號下的RAM使用者或RAM角色預設沒有任何許可權,需要阿里雲帳號或帳號管理員通過RAM Policy或Bucket Policy授予操作許可權。
API | Action | 說明 |
PutBucketReplication |
| 為Bucket配置資料複製規則。 |
| 如果是跨帳號複製,或者指定了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\"}}"