文档简介:
PUT Bucket Logging
在PUT操作的url中加上logging,可以进行添加/修改/删除logging的操作。如果Bucket已经存在了logging,此操作会替换原有logging。只有根用户和拥有PUT Bucket Logging权限的子用户才能执行此操作,否则会返回403 AccessDenied错误。
请求语法
PUT /?logging HTTP/1.1 Host: BucketName.oos-cn.ctyunapi.cn Date: date Authorization: signatureValue
Request elements vary depending on what you're setting. |
请求元素
名称 |
描述 |
是否必须 |
BucketLoggingStatus |
请求的容器。 |
是 |
LoggingEnabled |
日志信息的容器,当启动日志时,需要包含这个元素。 |
否 |
TargetBucket |
指定要保存log的bucket,OOS会向此Bucket存储日志。可以设置任意一个你拥有的bucket作为TargetBucket,包括启动日志的bucket本身。你也可以设置将多个Bucket的日志存放到一个TargetBucket中,在这种情况下,你需要为每个源Bucket设置不同的TargetPrefix,以便不同Bucket的log可以被区分出来。 |
否 |
TargetPrefix |
生成的log文件将以此为前缀命名。 |
否 |
以下是启动日志的示例:
请求示例1
PUT /?logging HTTP/1.1 Host: doc.oos-cn.ctyunapi.cn Date: Mon, 03Sep 2012 12:00:00 GMT Authorization: AWS 7799e793ce4624ee7e5a:xQE0diMbLRepdf3YB+FIEXAMPLE=
<?xml version="1.0" encoding="UTF-8"?> <BucketLoggingStatus xmlns="/2006-03-01"> <LoggingEnabled> <TargetBucket>mybucketlogs</TargetBucket> <TargetPrefix>mybucket-access_log-/</TargetPrefix> </LoggingEnabled> </BucketLoggingStatus> |
返回示例1
HTTP/1.1 200OK x-amz-request-id: 32FE2CEB32F5EE25 Date: Mon, 03Sep 2012 12:00:00 GMT Connection: close Server: CTYUN |
以下是取消日志的示例:
请求示例2
PUT /?logging HTTP/1.1 Host: doc.oos-cn.ctyunapi.cn Date: Mon, 03Sep 2012 12:00:00 GMT Authorization: AWS 7799e793ce4624ee7e5a:xQE0diMbLRepdf3YB+FIEXAMPLE=
<?xml version="1.0" encoding="UTF-8"?> <BucketLoggingStatus xmlns=/2006-03-01/> </BucketLoggingStatus> |
返回示例2
HTTP/1.1 200OK x-amz-request-id: 32FE2CEB32F5EE25 Date: Mon, 03Sep 2012 12:00:00 GMT Connection: close Server: CTYUN |
日志名称
TargetPrefix<RegionName>/UTCYYYY-MM-DD-hh-mm-ss-唯一字符串 |
其中YYYY,MM,DD,hh,mm,ss分别代表日志发送时的年,月,日,小时,分钟,秒。TargetPrefix是用户在启动Bucket日志时配置的。唯一字符串部分没有实际含义,可以被忽略。
系统不会删除旧的日志文件。用户可以自己删除以前的日志文件,可以在List Object时指定prefix参数,挑选出旧的日志文件,然后删除。
当客户端的请求到达后,日志记录不会被立刻推送到TargetBucket中,会延迟一段时间。
日志格式
字段名称 |
示例 |
备注 |
BucketOwner |
mailaddress@email.com |
源Bucket的Owner |
Bucket名称 |
mybucket |
请求的bucket,如果OOS收到一个错误的bucket名称,那么这个请求不会出现在任何log中。 |
Time |
[04/Aug/2012:22:34:02 +0000] |
请求到达的时间,格式是 [%d/%B/%Y:%H:%M:%S %z] |
Remote IP |
72.21.206.5 |
请求者的IP地址。中间的代理和防火墙可能会隐藏实际发出请求的机器的地址。 |
Requester |
mailaddress@email.com |
请求者的邮箱。如果是匿名访问,显示“Anonymoous” |
Request ID |
e4dd82b2f0994896 |
Request ID是OOS生成的一个字符串,用于唯一标示每个请求 |
Operation |
REST.PUT.OBJECT |
REST.HTTP_method. resource_type |
Key |
/photos/2012/08/puppy.jpg |
请求的“Key”部分,URL编码。如果请求中没有指定对象,显示“-” |
Request-URI |
"GET /mybucket/photos/2012/08/ puppy.jpg HTTP/1.1" |
HTTP请求中的Request-URI部分 |
HTTP status |
200 |
响应的HTTP状态码 |
Error Code |
NoSuchBucket |
OOS错误码,如果没有错误,显示“-” |
Bytes Sent |
2662992 |
写请求或读响应发送的字节数,不包括HTTP协议的头。如果是0,显示“-” |
Object Size |
3462992 |
Object的总大小 |
Time |
70 |
从收到请求到发出响应的时间 |
Referer |
"/span> |
HTTP Referer请求头的值 |
User-Agent |
"curl/7.15.1" |
HTTP User-Agent请求头的值 |
Version Id |
3HL4kqtJvjVBH40Nrjfkd |
请求中的versionId参数,如果没有,显示“-” |