PUT Bucket Logging
更新時間 2024-11-15 18:30:29
最近更新時間: 2024-11-15 18:30:29
分享文章
本節主要介紹PUT Bucket 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.
請求參數
| 名稱 | 描述 | 是否必須 |
|---|---|---|
| BucketName | 存儲桶名稱。 | 是 |
| BucketLoggingStatus | 請求的容器。 類型:容器。 子節點:LoggingEnabled。 |
是 |
| LoggingEnabled | 日志信息的容器,當啟動日志時,需要包含這個元素。 類型:容器。 父節點:BucketLoggingStatus。 子節點:TargetBucket、TargetPrefix。 |
否 |
| TargetBucket | 指定要保存log的Bucket,OOS會向此Bucket存儲日志。可以設置任意一個你擁有的bucket作為TargetBucket,包括啟動日志的bucket本身。你也可以設置將多個Bucket的日志存放到一個TargetBucket中,在這種情況下,你需要為每個源bucket設置不同的TargetPrefix,以便不同Bucket的log可以被區分出來。 類型:字符串。 父節點:LoggingEnabled。 |
否 |
| TargetPrefix | 生成的log文件將以此為前綴命名。 類型:字符串。 父節點:LoggingEnabled。 |
否 |
請求示例1
啟動日志
PUT?/?logging?HTTP/1.1
Host:?docs.oos-cn.ctyunapi.cn
Content-Type:?application/xml;?charset=utf-8
Date:?Mon,?03 Sep?2012?12:00:00?GMT
Authorization: SignatureValue
?
<?xml?version="1.0"?encoding="UTF-8"?>
<BucketLoggingStatus?xmlns="//doc.s3.amazonaws.com/2006-03-01">
??<LoggingEnabled>
????<TargetBucket>example-bucket</TargetBucket>
????<TargetPrefix>mybucket-access_log-/</TargetPrefix>
??</LoggingEnabled>
</BucketLoggingStatus>
響應示例1
HTTP/1.1?200?OK
x-amz-request-id:?0275747fbe8742a179ecdfeee3f0f2f8b7b9c3adafb1b3b5b7
Date:?Mon,?03 Sep?2012?12:00:00?GMT
Server:?CTYUN
請求示例2
以下是取消日志的示例:
PUT?/?logging?HTTP/1.1
Host:?docs.oos-cn.ctyunapi.cn
Date:?Mon,?03 Sep?2012?12:00:00?GMT
Authorization: SignatureValue
?
<?xml version="1.0" encoding="UTF-8"?>
<BucketLoggingStatus xmlns="//s3.amazonaws.com/doc/2006-03-01/"></BucketLoggingStatus>
響應示例2
HTTP/1.1?200?OK
x-amz-request-id:?63b0c5fe79b7418d9407fa09fe0b0d13d2d4d8c8caccced0d2
Date:?Mon,?03 Sep?2012?12:00:00?GMT
Server:?CTYUN
日志名稱
TargetPrefix<RegionName>/UTCYYYY-MM-DD-hh-mm-ss-唯一字符串_id
其中YYYY,MM,DD,hh,mm,ss分別代表日志發送時的年,月,日,小時,分鐘,秒。TargetPrefix是用戶在啟動Bucket日志時配置的,如果未配置,則該項不存在。唯一字符串是服務端生成的,某些場景下不會生成。id表示日志服務器序號。
系統不會刪除舊的日志文件。用戶可以自己刪除以前的日志文件,可以在List Objects時指定prefix參數,挑選出舊的日志文件,然后刪除。
當客戶端的請求到達后,日志記錄不會被立刻推送到TargetBucket中,會延遲一段時間。
日志名稱
| 字段名稱 | 示例 | 備注 |
|---|---|---|
| BucketOwner | mailaddress@daliqc.cn | 源Bucket的Owner。 |
| Bucket名稱 | mybucket | 請求的bucket,如果OOS收到一個錯誤的bucket名稱,那么這個請求不會出現在任何log中。 |
| Time | 04/08/2012 22:34:02 zz | 請求到達的時間格式是dd/MM/yyyy HH:mm:ss zz。 |
| Remote IP | 72.21.206.5 | 請求者的IP地址。中間的代理和防火墻可能會隱藏實際發出請求的機器的地址。 |
| Requester | 根用戶郵箱:mailaddress@daliqc.cn。 子用戶:arn:ctyun:iam::10rc2arpn6306:user/test_user。 匿名用戶:Anonymous。 |
如果是根用戶,顯示根用戶的郵箱,如:mailaddress@daliqc.cn。 如果是子用戶,顯示子用戶的ARN,如:arn:ctyun:iam::10rc2arpn6306:user/test_user。 如果是匿名訪問,顯示“Anonymous”。 |
| 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 | 從收到請求到發出響應的時間,單位是ms。 |
| Referer | "//oos.daliqc.cn" | HTTP Referer請求頭的值。 |
| User-Agent | "curl/7.15.1" | HTTP User-Agent請求頭的值。 |
| Version Id | 3HL4kqtJvjVBH40Nrjfkd | 請求中的versionId參數,如果沒有,顯示“-”。 |
| Turn-Around Time | 1024 | OOS處理請求的時間,單位毫秒。即OOS接到客戶端請求最后一個字節的時間,至OOS向客戶端發送第一個響應字節的時間。 響應碼為200和206的GET Object請求顯示處理請求時間,其他操作顯示“ - ”。 |