put-bucket-logging用於為儲存空間(Bucket)開啟日誌轉存功能,可將OSS的訪問日誌按照固定命名規則,以小時為單位組建記錄檔檔案寫入您指定的Bucket。
注意事項
在開啟日誌轉存之前,請確保您已瞭解該功能。詳情請參見日誌轉存。
許可權說明
阿里雲帳號預設擁有全部許可權。阿里雲帳號下的RAM使用者或RAM角色預設沒有任何許可權,需要阿里雲帳號或帳號管理員通過RAM Policy或Bucket Policy授予操作許可權。
API | Action | 說明 |
PutBucketLogging |
| 為Bucket開啟日誌轉存功能。 |
| 為Bucket開啟日誌轉存功能時,如果日誌寫入的目標Bucket是另一個Bucket,則需要有目標Bucket此操作的許可權。 |
命令格式
ossutil api put-bucket-logging --bucket value --bucket-logging-status value [flags]參數 | 類型 | 說明 |
--bucket | string | Bucket的名稱。 |
--bucket-logging-status | string | 儲存訪問日誌狀態資訊的容器。 |
put-bucket-logging命令對應API介面PutBucketLogging。關於API中的具體參數含義,請參見PutBucketLogging。
--bucket-logging-status
--bucket-logging-status配置選項既支援XML文法也支援JSON文法,當選項值包含file://首碼時,表示從檔案中讀取配置。
XML文法:
<BucketLoggingStatus> <LoggingEnabled> <TargetBucket>string</TargetBucket> <TargetPrefix>string</TargetPrefix> </LoggingEnabled> </BucketLoggingStatus>JSON文法:
{ "LoggingEnabled": { "TargetBucket": "string", "TargetPrefix": "string" } }
關於支援的全域命令列選項,請參見支援的全域命令列選項。
使用樣本
以下樣本展示了如何為名為examplebucket的儲存空間開啟日誌轉存功能,記錄檔首碼為MyLog-,儲存訪問日誌的Bucket為dest-bucket。
使用XML設定檔,bucket-logging-status.xml內容如下:
<?xml version="1.0" encoding="UTF-8"?> <BucketLoggingStatus> <LoggingEnabled> <TargetBucket>dest-bucket</TargetBucket> <TargetPrefix>MyLog-</TargetPrefix> </LoggingEnabled> </BucketLoggingStatus>
命令樣本如下:
ossutil api put-bucket-logging --bucket examplebucket --bucket-logging-status file://bucket-logging-status.xml使用JSON設定檔,bucket-logging-status.json內容如下:
{ "LoggingEnabled": { "TargetBucket": "destBucket", "TargetPrefix": "MyLog-" } }命令樣本如下:
ossutil api put-bucket-logging --bucket examplebucket --bucket-logging-status file://bucket-logging-status.json使用JSON配置參數,命令樣本如下:
ossutil api put-bucket-logging --bucket examplebucket --bucket-logging-status "{\"LoggingEnabled\":{\"TargetBucket\":\"destBucket\",\"TargetPrefix\":\"MyLog-\"}}"