问题描述
PutBucketLogging请求中的XML配置有误,存储日志的文件名前缀(TargetPrefix)包含非UTF8字符集的字符。
问题原因
您发起了PutBucketLogging请求,但是请求体XML配置有误,/BucketLoggingStatus/LoggingEnabled/TargetPrefix
节点表示保存的日志文件前缀,该参数要求UTF8编码,不能出现其他字符编码集的字符。
问题示例
比如您发起了如下请求:
PUT /?logging HTTP/1.1
Date: GMT Date
Content-Length:ContentLength
Content-Type: application/xml
Authorization: SignatureValue
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
<?xml version="1.0" encoding="UTF-8"?>
<BucketLoggingStatus>
<LoggingEnabled>
<TargetBucket>TargetBucket</TargetBucket>
<TargetPrefix>...(此处省略若干不属于UTF8编码的字符)...</TargetPrefix>
</LoggingEnabled>
</BucketLoggingStatus>
上述请求请求体XML的节点LoggingEnabled
中的TargetPrefix
子节点值不属于UTF8字符集,因此会产生该错误。
解决方案
请确保您发起的请求的请求体是合法的XML结构,且节点TargetPrefix
的值符合要求:
PUT /?logging HTTP/1.1
Date: GMT Date
Content-Length:ContentLength
Content-Type: application/xml
Authorization: SignatureValue
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
<?xml version="1.0" encoding="UTF-8"?>
<BucketLoggingStatus>
<LoggingEnabled>
<TargetBucket>TargetBucket</TargetBucket>
<TargetPrefix>TargetPrefix</TargetPrefix>
</LoggingEnabled>
</BucketLoggingStatus>
相关文档
该文章对您有帮助吗?