文档中心

PUT Bucket logging


描述

此 PUT 操作使用 logging 资源来设定用户空间的日志参数和指定允许查看日志和更改日志参数的权限的用户。

若使用此接口需要用户是此空间的拥有者。

空间拥有者对于所有日志默认被授予 FULL_CONTROL 权限。用户可以通过 Grantee 请求参数为其他用户授权。请求参数 Permissions 可以设定权限的具体内容。(暂不支持该类型授权)

要启用日志,用户需要设定 loggingEnabled 及其子标签。

要关闭日志,用户需要使用空的 BucketLoggingStatus 请求参数。

<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01" />

请求

语法

PUT /?logging HTTP/1.1
Host: {BucketName}.kss.ksyun.com
Date: date
Authorization: authorization string

Request elements vary depending on what you're setting.

请求参数

该接口不使用请求参数。

请求头部

该接口只使用常用请求头部。获取更多信息,请点击常用请求头部

请求内容

名称 描述
BucketLoggingStatus 响应信息的容器。
类型: Container
父节点: 无
EmailAddress 拥有查看日志信息的用户的电子邮件。
类型: String
父节点: BucketLoggingStatus.LoggingEnabled.TargetGrants.Grant.Grantee
Grant 被授权者及其权限的信息的容器。(暂不支持)
类型: Container
父节点: BucketLoggingStatus.LoggingEnabled.TargetGrants
Grantee 拥有查看权限的用户信息的容器。(暂不支持)
类型: Container
父节点: BucketLoggingStatus.LoggingEnabled.TargetGrants.Grant
LoggingEnabled 日志信息的容器。启用日志时,该容器及其子节点会出现,否则,消失。
类型: Container
父节点: BucketLoggingStatus
Permission 被授权者拥有的对用户空间的日志的权限。(暂不支持);
父节点: BucketLoggingStatus.LoggingEnabled.TargetGrants.Grant
TargetBucket 指定需要返回日志信息的用户空间。
类型: String
父节点: BucketLoggingStatus.LoggingEnabled
TargetGrants 授权信息的容器。(暂不支持)
类型: Container
父节点: BucketLoggingStatus.LoggingEnabled
TargetPrefix 指定日志文件被存放的键值(逻辑分层+文件名)的前缀。
类型: String
父节点: BucketLoggingStatus.LoggingEnabled

授予权限方式

用户可以通过以下方式来授予某个用户对日志的权限。

通过用户ID

<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID>ID</ID><DisplayName>GranteesEmail</DisplayName>
</Grantee>

通过URI

<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI>http://acs.ksyun.com/groups/global/AllUsers</URI></Grantee>

注意:当前仅支持http://acs.ksyun.com/groups/global/AllUsers,表示所有用户,包括匿名用户。

响应

响应头部

该接口可以使用所有常用响应头部。获取更多信息,请点击常用响应头部

响应内容

该接口不返回相应内容。

特殊错误

该接口不返回任何特殊错误。

示例

请求示例

PUT /?logging HTTP/1.1
Host: {BucketName}.kss.ksyun.com
Content-Length: 214
Date: Fri, 26 Dec 2014 06:38:43 GMT
Authorization: authorization string

<?xml version="1.0" encoding="UTF-8"?>
<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01">
  <LoggingEnabled>
    <TargetBucket>mybucketlogs</TargetBucket>
    <TargetPrefix>mybucket-access_log-/</TargetPrefix>
    <TargetGrants>
    </TargetGrants>
  </LoggingEnabled>
</BucketLoggingStatus>

响应示例

HTTP/1.1 200 OK
Date: Fri, 26 Dec 2014 06:38:43 GMT
Server: Tengine

关闭日志请求示例

PUT /?logging HTTP/1.1
Host: quotes.kss.ksyun.com
Content-Length: 214
Date: Fri, 26 Dec 2014 06:38:43 GMT
Authorization: authorization string

<?xml version="1.0" encoding="UTF-8"?>
<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01" />

关闭日志响应示例

HTTP/1.1 200 OK
Date: Fri, 26 Dec 2014 06:38:43 GMT
Server: Tengine

接口细节分析

  • 该接口可以开启bucket的日志功能,KS3将会把bucket的每天的请求日志上传到用户指定的bucket下。
  • 源bucket和目标bucket必须是属于同一个用户同一个region的两个或者一个bucket。建议使用两个不同的bucket,目标bucket专门用来存日志。
  • 只有bucket的所有者才有权限使用该接口。