バケットのロギングを有効化します。 バケットのロギングを有効にして設定した後、Object Storage Service (OSS) は、定義済みの命名規則に基づいてログオブジェクトを生成します。 これにより、アクセスログが生成され、指定されたバケットに1時間ごとに保存されます。
使用上の注意
- ログが生成されるソースバケットと、ログが保存される宛先バケットは、同じであっても異なっていてもよい。 ただし、移行先バケットは、移行元バケットと同じリージョンの同じAlibaba Cloudアカウントに属している必要があります。
- OSSは、1時間ごとにバケットアクセスログを生成します。 ただし、1時間のリクエストは、前の1時間または後の1時間に生成されたログに記録される場合があります。
ログオブジェクトの命名規則とログ形式の詳細については、「ロギング」をご参照ください。
- ログを無効にする前に、OSSはログオブジェクトの生成を続けます。 ストレージコストを削減するために不要になったログオブジェクトを削除します。
ログオブジェクトを定期的に削除するようにライフサイクルルールを設定できます。 詳細については、「最終変更時刻に基づくライフサイクルルール」をご参照ください。
- より多くのフィールドがOSSログに追加される可能性があります。 開発者は、ログ処理ツールを開発する際に潜在的な互換性の問題を考慮することを推奨します。
リクエスト構文
PUT /? ロギングHTTP/1.1
日付: GMT日付
Content-Length: ContentLength
Content-Type: application/xml
権限付与: SignatureValue
ホスト: BucketName.oss-cn-hangzhou.aliyuncs.com
<?xml version="1.0" encoding="UTF-8"?>
<BucketLoggingStatus>
<LoggingEnabled>
<TargetBucket>TargetBucket</TargetBucket>
<TargetPrefix>TargetPrefix</TargetPrefix>
</LoggingEnabled>
</BucketLoggingStatus>
リクエストヘッダー
PutBucketLoggingリクエストには、共通のリクエストヘッダーのみが含まれます。 詳細については、「共通リクエストヘッダー」をご参照ください。
リクエスト要素
要素 | データ型 | 必須 | 例 | 説明 |
BucketLoggingStatus | Container | 必須 | N/A | ロギングステータス情報を格納するコンテナー。 子ノード: LoggingEnabled 親ノード: なし |
LoggingEnabled | Container | このパラメーターは、ロギングを有効にするときに必要です。 | N/A | アクセスログ情報を格納するコンテナー。 子ノード: TargetBucketおよびTargetPrefix 親ノード: BucketLoggingStatus |
TargetBucket | String | このパラメーターは、ロギングを有効にするときに必要です。 | examplebucket | アクセスログを保存するバケット。 子ノード: なし 親ノード: BucketLoggingStatusおよびLoggingEnabled |
TargetPrefix | String | 任意 | MyLog- | 保存されたログオブジェクトのプレフィックス。 この要素は空のままにできます。 子ノード: なし 親ノード: BucketLoggingStatusおよびLoggingEnabled |
レスポンスヘッダー
PutBucketLogging要求に対する応答には、共通の応答ヘッダーのみが含まれます。 詳細については、「共通レスポンスヘッダー」をご参照ください。
例
- バケット
のロギングを有効にする方法のサンプルリクエストPUT /? ロギングHTTP/1.1 ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com コンテンツ-長さ: 186 日付: 5月4日金曜日2012 03:21:12 GMT 権限付与: OSS qn6qrrqxo2oawuk53otf ****:KU5h8YMUC78M30dXqf3JxrTZ **** <?xml version="1.0" encoding="UTF-8"?> <BucketLoggingStatus> <LoggingEnabled> <TargetBucket>examplebucket</TargetBucket> <TargetPrefix>MyLog-</TargetPrefix> </LoggingEnabled> </BucketLoggingStatus>
HTTP/1.1 200のサンプル応答OK x-oss-request-id: 534B371674E888648906008B 日付: 5月4日金曜日2012 03:21:12 GMT コンテンツ長: 0 接続: キープアライブ サーバー: AliyunOSS
- バケットのロギングを無効にする方法に関するサンプルリクエスト
バケットのロギングを無効にするには、空のBucketLoggingStatusを送信するだけです。 例:
PUT /? ロギングHTTP/1.1 ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com Content-Type: application/xml コンテンツ-長さ: 86 日付: 5月4日金曜日2012 04:21:12 GMT 権限付与: OSS qn6qrrqxo2oawuk53otf ****:KU5h8YMUC78M30dXqf3JxrTZ **** <?xml version="1.0" encoding="UTF-8"?> <BucketLoggingStatus> </BucketLoggingStatus>
HTTP/1.1 200のサンプル応答OK x-oss-request-id: 534B371674125A4D8906008B 日付: 5月4日金曜日2012 04:21:12 GMT コンテンツ長: 0 接続: キープアライブ サーバー: AliyunOSS
SDK
次のプログラミング言語のOSS SDKを使用して、PutBucketLogging操作を呼び出すことができます。
エラーコード
エラーコード | HTTPステータスコード | 説明 |
NoSuchBucket | 404 | ソースバケットが存在しない場合に返されるエラーメッセージ。 |
InvalidTargetBucketForLogging | 400 | 送信元バケットと送信先バケットが同じデータセンターに属していない場合に返されるエラーメッセージ。 |
InvalidDigest | 400 | メッセージ本文のContent-MD5値がリクエストヘッダーのContent-MD5値と一致しない場合に返されるエラーメッセージ。 |
MalformedXML | 400 | リクエストのXML形式が無効な場合に返されるエラーメッセージ。 |
InvalidTargetBucketForLogging | 403 | リクエスタが宛先バケットの所有者ではない場合に返されるエラーメッセージ。 |
AccessDenied | 403 | リクエスタがソースバケットの所有者ではない場合に返されるエラーメッセージ。 |