PutUserDefinedLogFieldsConfig介面用於為儲存空間(Bucket)即時日誌中的user_defined_log_fields欄位進行個人化配置。您可以將OSS請求中使用者關心的要求標頭或查詢參數資訊記錄到該欄位中去以便後續分析請求。
注意事項
如需調用PutUserDefinedLogFieldsConfig介面為儲存空間(Bucket)即時日誌中的
user_defined_log_fields欄位進行個人化配置,您必須擁有oss:PutUserDefinedLogFieldsConfig許可權。具體操作,請參見為RAM使用者授予自訂的權限原則。本功能將相關資訊統一編碼後填入固定欄位
user_defined_log_fields中。user_defined_log_fields欄位的值是一個JSON文本Base64編碼後的值,這個JSON文本預設有一個欄位為“truncated”用於表示是否有截斷髮生,另外有兩個欄位“headers”和“querys”分別對應使用者配置的要求標頭和查詢參數資訊。自訂要求標頭個數和查詢參數的個數之和不能超過6。
自訂要求標頭及查詢參數的key、value長度總和不能超過1024位元組,超過部分會被截斷。
要求標頭不支援底線(_),可以使用短劃線(-)替代。查詢參數支援底線(_)。
要求標頭需要遵從HTTP協議的規定。必須是可列印的ASCII字元,即字元33到字元126,支援小數點(.),不支援冒號(:)。
請求文法
PUT /?userDefinedLogFieldsConfig HTTP/1.1
Date: GMT Date
Content-Length:ContentLength
Content-Type: application/xml
Host: BucketName.oss.aliyuncs.com
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<UserDefinedLogFieldsConfiguration>
<HeaderSet>
<header>header1</header>
<header>header2</header>
<header>header3</header>
</HeaderSet>
<ParamSet>
<parameter>param1</parameter>
<parameter>param2</parameter>
</ParamSet>
</UserDefinedLogFieldsConfiguration>要求標頭
此介面僅涉及公用要求標頭。更多資訊,請參見公用要求標頭(Common Request Headers)。
請求元素
名稱 | 類型 | 是否必需 | 樣本值 | 描述 |
UserDefinedLogFieldsConfiguration | 容器 | 是 | 不涉及 | 使用者自訂日誌配置資訊的容器。 子項目:HeaderSet、ParamSet 父元素:無 |
HeaderSet | 容器 | 否 | 不涉及 | 自訂要求標頭配置資訊的容器。 子項目:header 父元素:無UserDefinedLogFieldsConfiguration |
header | 字串 | 否 | header1 | 自訂要求標頭資訊。 子項目:無 父元素:HeaderSet |
ParamSet | 容器 | 否 | 不涉及 | 自訂查詢參數配置資訊的容器。 子項目:parameter 父元素:無UserDefinedLogFieldsConfiguration |
parameter | 字串 | 否 | param1 | 自訂查詢參數資訊。 子項目:無 父元素:ParamSet |
回應標頭
此介面僅涉及公用回應標頭。更多資訊,請參見公用回應標頭(Common Response Headers)。
樣本
請求樣本
PUT /?userDefinedLogFieldsConfig HTTP/1.1
Date: GMT Date
Content-Length:ContentLength
Content-Type: application/xml
Host: BucketName.oss.aliyuncs.com
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<UserDefinedLogFieldsConfiguration>
<HeaderSet>
<header>header1</header>
<header>header2</header>
<header>header3</header>
</HeaderSet>
<ParamSet>
<parameter>param1</parameter>
<parameter>param2</parameter>
</ParamSet>
</UserDefinedLogFieldsConfiguration>響應樣本
HTTP/1.1 200 OK
x-oss-request-id: 534B371674125A4D8906008B
Date: Date
Content-Length: 0
Connection: keep-alive
Server: AliyunOSSSDK
此介面所對應的各語言SDK如下:
命令列工具ossutil
PutUserDefinedLogFieldsConfig介面所對應的ossutil命令,請參見put-user-defined-log-fields-config。