華為云計(jì)算 云知識(shí) 設(shè)置桶日志管理配置SetBucketLogging
設(shè)置桶日志管理配置SetBucketLogging

 

接口說明

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

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

委托權(quán)限示例

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

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

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

請(qǐng)求消息中可帶的簽名信息。

Date
 
string header

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

Content-HmacSHA256
 
string header

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

bucket_name
 
string query

請(qǐng)求的桶名稱。

logging
 
string query

logging表示請(qǐng)求桶日志管理配置API。

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

目標(biāo)桶Owner通過統(tǒng)一身份認(rèn)證服務(wù)創(chuàng)建的對(duì)OBS服務(wù)的委托的名稱。 設(shè)置logging時(shí)必選。關(guān)閉logging時(shí)勿選。

LoggingEnabled
 
LoggingEnabled object

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

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

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

TargetPrefix
 
string

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

TargetGrants
 
Array of TargetGrantsGrant objects

授權(quán)信息的容器。

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

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

Permission
 
string

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

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

被授權(quán)者的租戶ID,全局唯一標(biāo)識(shí)

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

請(qǐng)求成功響應(yīng)消息。

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

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

Connection
 
string

指明與服務(wù)器的連接是長連接還是短連接。

Date
 
string

OBS系統(tǒng)響應(yīng)的時(shí)間。

ETag
 
string

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

x-obs-id-2
 
string

幫助定位問題的特殊符號(hào)。

x-obs-request-id
 
string

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

返回碼: 400

請(qǐng)求失敗響應(yīng)消息。

名稱 類型 必選 描述
Code
 
string

錯(cuò)誤響應(yīng)消息體XML中錯(cuò)誤響應(yīng)對(duì)應(yīng)的HTTP消息返回碼,具體的錯(cuò)誤碼請(qǐng)參見錯(cuò)誤碼-表2。

Message
 
string

錯(cuò)誤響應(yīng)消息體XML中具體錯(cuò)誤更全面、詳細(xì)的英文解釋,具體的錯(cuò)誤消息請(qǐng)參見錯(cuò)誤碼-表2。

RequestId
 
string

本次錯(cuò)誤請(qǐng)求的請(qǐng)求ID,用于錯(cuò)誤定位。

HostId
 
string

返回該消息的服務(wù)端ID。

Resource
 
string

該錯(cuò)誤相關(guān)的桶或?qū)ο筚Y源。

請(qǐng)求示例
示例 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>"
錯(cuò)誤碼
請(qǐng)參考 錯(cuò)誤碼說明。