GetBucketReplicationProgress用于獲取某個存儲空間(Bucket)的數據復制進度。
請求語法
GET /?replicationProgress&rule-id=RuleId HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
請求頭
此接口僅涉及公共請求頭。更多信息,請參見公共請求頭(Common Request Headers)。
請求參數
名稱 | 類型 | 是否必須 | 描述 |
rule-id | 字符串 | 是 | 復制規則對應的ID。此ID可從GetBucketReplication中獲取。 |
響應頭
此接口僅涉及公共響應頭。更多信息,請參見公共響應頭(Common Response Headers)。
響應元素
名稱 | 類型 | 描述 |
ReplicationProgress | 容器 | 保存復制進度的容器。 父節點:無 子節點:Rule |
Rule | 容器 | 保存每個復制規則進度條目的容器。 父節點:ReplicationConfiguration 子節點:ID、Destination、Status和Progress |
ID | 字符串 | 復制規則對應的ID。 父節點:Rule 子節點:無 |
PrefixSet | 容器 | 保存Prefix 的容器,每個復制規則中,最多能指定10個Prefix。 父節點:Rule 子節點:Prefix |
Prefix | 字符串 | 待復制Object的Prefix,只有匹配該Prefix的Object才會被復制到目標Bucket。 父節點:PrefixSet 子節點:無 |
Action | 字符串 | 表示被同步到目標Bucket的操作。 Action允許以下操作類型,您可以指定一項或者多項。
父節點:Rule 子節點:無 |
Destination | 容器 | 保存目標Bucket信息的容器。 父節點:Rule 子節點:Bucket和Location |
Bucket | 字符串 | 數據被復制到的目標Bucket。 父節點:Destination 子節點:無 |
Location | 字符串 | 目標Bucket所在的Location。 父節點:Destination 子節點:無 |
TransferType | 字符串 | 數據復制時使用的數據傳輸類型。
|
HistoricalObjectReplication | 字符串 | 是否復制歷史數據。即開啟數據復制前,是否將源Bucket中的數據復制到目標Bucket。 取值:
|
Progress | 容器 | 保存復制進度的容器,僅當數據處于同步狀態(doing)時才返回此元素。 父節點:Rule 子節點:HistoricalObject、NewObject |
HistoricalObject | 字符串 | 顯示已復制歷史數據的百分比。僅對開啟了歷史數據復制的Bucket有效。 父節點:Progress 子節點:無 |
NewObject | 字符串 | 顯示數據復制到目標Bucket的時間點(GMT格式)。 例如Thu, 24 Sep 2015 15:39:18 GMT,表示早于該時間點寫入的數據都已復制到目標Bucket。 父節點:Progress 子節點:無 |
示例
請求示例
GET /?replicationProgress&rule-id=test_replication_1 HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Thu, 24 Sep 2015 15:39:15 GMT Authorization: OSS qn6q**************:77Dv****************
返回示例
說明僅當傳輸類型為oss_acc時,返回的XML消息體中才會包含<TransferType>元素。
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Thu, 24 Sep 2015 15:39:15 GMT Content-Length: 234 Content-Type: application/xml Connection: close Server: AliyunOSS <?xml version="1.0" ?> <ReplicationProgress> <Rule> <ID>test_replication_1</ID> <PrefixSet> <Prefix>source_image</Prefix> <Prefix>video</Prefix> </PrefixSet> <Action>PUT</Action> <Destination> <Bucket>target-bucket</Bucket> <Location>oss-cn-beijing</Location> <TransferType>oss_acc</TransferType> </Destination> <Status>doing</Status> <HistoricalObjectReplication>enabled</HistoricalObjectReplication> <Progress> <HistoricalObject>0.85</HistoricalObject> <NewObject>2015-09-24T15:28:14.000Z </NewObject> </Progress> </Rule> </ReplicationProgress>
錯誤碼
錯誤碼 | HTTP狀態碼 | 描述 |
NoSuchBucket | 404 NotFound | 請求的Bucket不存在。 |
NoSuchReplicationRule | 404 NotFound | 指定的RuleId不存在。 |
NoSuchReplicationConfiguration | 404 NotFound | 請求的Bucket沒有配置數據復制。 |
TooManyReplicationRules | 400 BadRequest | 請求中配置的數據復制規則超過一條。 單次請求中只能配置一條數據復制規則。 |