Problem description
The ID parameter is missing from the ReplicationRule node in a PutBucketRTC request.
Causes
PutBucketRTC enables or disables Replication Time Control (RTC) for a specific replication rule. The request body must include an <ID> element inside <ReplicationRule> to identify which rule to update. If <ID> is omitted, the request fails.
Examples
The following request is missing the <ID> element:
POST /?replication&comp=add HTTP/1.1
PUT /?rtc HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationRule>
<RTC>
<Status>enabled or disabled</Status>
</RTC>
</ReplicationRule>Solutions
Add <ID> as a sibling of <RTC> inside <ReplicationRule>, specifying the ID of the target replication rule:
PUT /?rtc HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Thu, 21 Jul 2022 15:39:18 GMT
Content-Length: 46
Content-Type: application/xml
Authorization: OSS qn6qrrqxo2oawuk53otf****:CTkuxpLAi4XZ+WwIfNm0Fmgb****
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationRule>
<RTC>
<Status>enabled</Status>
</RTC>
<ID>test_replication_rule_1</ID>
</ReplicationRule>Replace test_replication_rule_1 with the ID of your replication rule.