華為云計算 云知識 設置桶日志管理配置SetBucketLogging
設置桶日志管理配置SetBucketLogging

 

接口說明

創(chuàng)建桶時,默認是不生成桶的日志的,如果需要生成桶的日志,該桶需要打開日志配置管理的開關。桶日志功能開啟后,桶的每次操作將會產(chǎn)生一條日志,并將多條日志打包成一個日志文件。日志文件存放位置需要在開啟桶日志功能時指定,可以存放到開啟日志功能的桶中,也可以存放到其他你有權限的桶中,但需要和開啟日志功能的桶在同一個region中。

由于日志文件是OBS產(chǎn)生,并且由OBS上傳到存放日志的桶中,因此OBS需要獲得委托授權,用于上傳生成的日志文件,所以在配置桶日志管理前,需要先到 統(tǒng)一身份認證 服務生成一個對OBS服務的委托,并將委托名作為參數(shù)配置到桶上,并且在xml文件中<LoggingEnabled>標簽下配置相應的日志管理功能。在為委托配置權限時只需設置目標桶的上傳對象權限。

委托權限示例

{
    "Version": "1.1",
    "Statement": [
        {
            "Action": [
                "obs:object:PutObject"
            ],
            "Resource": [
                "OBS:*:*:object:mybucketlogs/*"
            ],
            "Effect": "Allow"
        }
    ]
}

關閉桶日志功能的方法是上傳一個帶有空的BucketLoggingStatus標簽的logging文件。 默認存儲類別為低頻訪問存儲或歸檔存儲的桶不能作為存放日志文件的桶。日志文件存放到桶中后,這些日志文件會占用空間,并按照用戶存放數(shù)據(jù)同樣的計費策略進行計費。

URL
PUT  https://obs.af-south-1.myhuaweicloud.com/ 
請求參數(shù)
名稱 類型 IN 必選 描述
Authorization
 
string header

請求消息中可帶的簽名信息。

Date
 
string header

請求發(fā)起端的日期和時間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認值:無。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。

Content-HmacSHA256
 
string header

按SHA安全加密標準計算出消息體的SHA256摘要字符串,即消息體256-bit SHA256值經(jīng)過base64編碼后得到的字符串

bucket_name
 
string query

請求的桶名稱。

logging
 
string query

logging表示請求桶日志管理配置API。

Body參數(shù)
名稱 類型 必選 描述
Agency
 
string

目標桶Owner通過統(tǒng)一身份認證服務創(chuàng)建的對OBS服務的委托的名稱。 設置logging時必選。關閉logging時勿選。

LoggingEnabled
 
LoggingEnabled object

該元素起到對日志配置管理的使能作用(呈現(xiàn)此元素則打開日志配置,否則關閉配置)。在此元素下,可加入具體的日志配置信息。 設置logging時必選。關閉logging時勿選。

參數(shù):
LoggingEnabled
名稱 類型 必選 描述
TargetBucket
 
string

在生成日志時,配置日志桶的所有者可以指定一個桶用于存放產(chǎn)生的日志文件。需要保證配置日志文件的桶owner對存放日志文件的桶有FULL_CONTROL權限。支持多個桶生成的日志放在同一個目標桶中,如果這樣做,就需要指定不同的TargetPrefix以達到為來自不同源桶的日志分類的目的。 設置logging時必選。關閉logging時勿選。

TargetPrefix
 
string

通過該元素指定一個前綴,所有生成的日志對象的對象名都以此元素的內(nèi)容為前綴。 設置logging時必選。關閉logging時勿選。

TargetGrants
 
Array of TargetGrantsGrant objects

授權信息的容器。

參數(shù):
LoggingEnabled.TargetGrants
名稱 類型 必選 描述
Grantee
 
TargetGrantsGrantGrantee object

作為被授權l(xiāng)ogging權限用戶的容器。

Permission
 
string

產(chǎn)生的日志文件對被授權者的具體權限。

  • FULL_CONTROL 完全控制權限。
  • READ 讀權限。
  • WRITE 寫權限。
參數(shù):
LoggingEnabled.TargetGrants.Grantee
名稱 類型 必選 描述
ID
 
string

被授權者的租戶ID,全局唯一標識

返回參數(shù)
返回碼: 200

請求成功響應消息。

名稱 類型 必選 描述
Content-Length
 
string

響應消息體的字節(jié)長度。

Connection
 
string

指明與服務器的連接是長連接還是短連接。

Date
 
string

OBS系統(tǒng)響應的時間。

ETag
 
string

對象的base64編碼的128位MD5摘要。ETag是對象內(nèi)容的唯一標識,可以通過該值識別對象內(nèi)容是否有變化。比如上傳對象時ETag為A,下載對象時ETag為B,則說明對象內(nèi)容發(fā)生了變化。實際的ETag是對象的哈希值。ETag只反映變化的內(nèi)容,而不是其元數(shù)據(jù)。上傳的對象或拷貝操作創(chuàng)建的對象,通過MD5加密后都有唯一的ETag。如果通過多段上傳對象,則無論加密方法如何,MD5會拆分ETag,此類情況ETag就不是MD5的摘要。

x-obs-id-2
 
string

幫助定位問題的特殊符號。

x-obs-request-id
 
string

由OBS創(chuàng)建來唯一確定本次請求的值,可以通過該值來定位問題。

返回碼: 400

請求失敗響應消息。

名稱 類型 必選 描述
Code
 
string

錯誤響應消息體XML中錯誤響應對應的HTTP消息返回碼,具體的錯誤碼請參見錯誤碼-表2。

Message
 
string

錯誤響應消息體XML中具體錯誤更全面、詳細的英文解釋,具體的錯誤消息請參見錯誤碼-表2。

RequestId
 
string

本次錯誤請求的請求ID,用于錯誤定位。

HostId
 
string

返回該消息的服務端ID。

Resource
 
string

該錯誤相關的桶或對象資源。

請求示例
示例 1
 
"/?logging"
 
"PUT /?logging HTTP/1.1 \nHost: bucketname.obs.cn-north-4.myhuaweicloud.com \nDate: date\nAuthorization: signatureValue\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<BucketLoggingStatus>\n <Agency>agency-name</Agency>\n <LoggingEnabled>\n <TargetBucket>mybucketlogs</TargetBucket>\n <TargetPrefix>mybucket-access_log-/</TargetPrefix>\n <TargetGrants>\n <Grant>\n <Grantee>\n <ID>domainID</ID>\n </Grantee>\n <Permission>READ</Permission>\n </Grant>\n </TargetGrants>\n </LoggingEnabled>\n</BucketLoggingStatus>"
錯誤碼
請參考 錯誤碼說明