问题描述
调用 PutBucketLogging 开启日志转存时,OSS 返回以下错误:HTTP 状态码 400、错误码 InvalidArgument、错误信息 LoggingRole is invalid.
问题原因
LoggingRole填写错误:请求中的LoggingRole传入了 RAM 角色的阿里云资源名称(ARN),而不是 RAM 角色名称。
问题示例
以下请求将 LoggingRole 设置为 RAM 角色 ARN:
PUT /?logging HTTP/1.1
Host: examplebucket.oss-cn-beijing.aliyuncs.com
Content-Type: application/xml
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<BucketLoggingStatus>
<LoggingEnabled>
<TargetBucket>examplebucket</TargetBucket>
<TargetPrefix>MyLog-</TargetPrefix>
<LoggingRole>acs:ram::1000000000000000:role/AliyunOSSLoggingDefaultRole</LoggingRole>
</LoggingEnabled>
</BucketLoggingStatus>OSS 返回以下错误:
HTTP/1.1 400 Bad Request
Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>InvalidArgument</Code>
<Message>LoggingRole is invalid.</Message>
<EC>0032-00000014</EC>
</Error>解决方案
填写 RAM 角色名称:将
LoggingRole的值从 RAM 角色 ARN 修改为 RAM 角色名称。例如,将上述请求中的LoggingRole修改为:<LoggingRole>AliyunOSSLoggingDefaultRole</LoggingRole>
修改后重新发送 PutBucketLogging 请求。
相关文档
该文章对您有帮助吗?