バケットロギングの user_defined_log_fields 要素のフィールドをカスタマイズして、リクエストヘッダーとクエリパラメーターをログに記録します。
使用方法
PutUserDefinedLogFieldsConfig 操作を呼び出してリアルタイムログの
user_defined_log_fieldsフィールドをカスタマイズするには、oss:PutUserDefinedLogFieldsConfig権限が必要です。 詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。ロギング構成情報はエンコードされ、
user_defined_log_fieldsフィールドに入力されます。user_defined_log_fieldsフィールドの値は、Base64 エンコードされた JSON データです。 JSON データには、JSON データが切り捨てられたかどうかを示す "truncated" フィールド、指定されたリクエストヘッダーを含む "headers" フィールド、および指定されたクエリパラメーターを含む "querys" フィールドが含まれます。ロギング構成では、合計 6 つのカスタムリクエストヘッダーとクエリパラメーターを指定できます。
ロギング構成内のリクエストヘッダーとクエリパラメーターのすべてのカスタムフィールドのキーと値の合計の長さは 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>リクエストヘッダー
PutUserDefinedLogFieldsConfig リクエストのすべてのヘッダーは、共通のリクエストヘッダーです。 詳細については、「共通リクエストヘッダー」をご参照ください。
リクエスト要素
要素 | タイプ | 必須 | 例 | 説明 |
UserDefinedLogFieldsConfiguration | コンテナ | はい | 該当なし | ユーザー定義のロギング構成のコンテナ。 子要素: HeaderSet および ParamSet 親要素: なし |
HeaderSet | コンテナ | いいえ | 該当なし | カスタムリクエストヘッダーのコンテナ。 子要素: header 親要素: UserDefinedLogFieldsConfiguration |
header | 文字列 | いいえ | header1 | カスタムリクエストヘッダー。 子要素: なし 親要素: HeaderSet |
ParamSet | コンテナ | いいえ | 該当なし | カスタムクエリパラメーターのコンテナ。 子要素: parameter 親要素: UserDefinedLogFieldsConfiguration |
parameter | 文字列 | いいえ | param1 | カスタムクエリパラメーター。 子要素: なし 親要素: ParamSet |
レスポンスヘッダー
PutUserDefinedLogFieldsConfig リクエストへのレスポンスのすべてのヘッダーは、共通のレスポンスヘッダーです。 詳細については、「共通レスポンスヘッダー」をご参照ください。
例
リクエストの例
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: AliyunOSSOSS SDK
以下のプログラミング言語の OSS SDK を使用して、PutUserDefinedLogFieldsConfig 操作を呼び出すことができます。