Problem description
The RoleName parameter of the Snapshot node in the PutLiveChannel request is invalid.
Causes
You initiate a PutLiveChannel request to create a LiveChannel, but specify an invalid value for the RoleName parameter of the Snapshot node in the XML request body. This parameter specifies the name of the role that is used to perform high-frequency snapshot capture. The role must have the write permissions on DestBucket and the permissions to send messages to NotifyTopic. The value of this parameter cannot be empty.
Examples
For example, you initiate the following request:
PUT /test-channel?live HTTP/1.1
Date: Wed, 24 Aug 2016 11:11:28 GMT
Content-Length: xxx
Host: test-bucket.oss-cn-hangzhou.aliyuncs.com
Authorization: OSS qn6q**************:77Dv****************
<?xml version="1.0" encoding="utf-8"?>
<LiveChannelConfiguration>
<Description />
<Status>enabled</Status>
<Target>
<Type>HLS</Type>
<FragDuration>2</FragDuration>
<FragCount>3</FragCount>
</Target>
<Snapshot>
<RoleName></RoleName>
<DestBucket>snapshotdest</DestBucket>
<NotifyTopic>notifyTopic</NotifyTopic>
<Interval>1</Interval>
</Snapshot>
</LiveChannelConfigurationAn error is returned because the RoleName parameter of the Snapshot node is set to an empty string, which is invalid.
Solutions
Make sure that the parameters of the Snapshot node in the XML request body are valid. The following code provides a valid sample request:
PUT /test-channel?live HTTP/1.1
Date: Wed, 24 Aug 2016 11:11:28 GMT
Content-Length: xxx
Host: test-bucket.oss-cn-hangzhou.aliyuncs.com
Authorization: OSS qn6q**************:77Dv****************
<?xml version="1.0" encoding="utf-8"?>
<LiveChannelConfiguration>
<Description />
<Status>enabled</Status>
<Target>
<Type>HLS</Type>
<FragDuration>2</FragDuration>
<FragCount>3</FragCount>
</Target>
<Snapshot>
<RoleName>role_for_snapshot</RoleName>
<DestBucket>snapshotdest</DestBucket>
<NotifyTopic>snapshotnotify</NotifyTopic>
<Interval>1</Interval>
</Snapshot>
</LiveChannelConfiguration