O comando put-bucket-logging ativa o recurso de entrega de logs para um bucket. Ele gera arquivos de log de acesso do OSS a cada hora, seguindo uma convenção de nomenclatura fixa, e os grava no bucket especificado.
Considerações
Antes de ativar a entrega de logs, familiarize-se com o funcionamento desse recurso. Para mais detalhes, consulte Entrega de logs.
Permissões
Por padrão, uma conta Alibaba Cloud tem permissões completas. Usuários RAM ou funções RAM vinculados a essa conta não têm permissão inicial. A conta Alibaba Cloud ou o administrador deve conceder as permissões de operação por meio de políticas do RAM ou Bucket Policy.
|
API |
Ação |
Descrição |
|
PutBucketLogging |
|
Ativa o registro de logs para um bucket. |
|
|
Necessária para o bucket de destino quando os logs são gravados em um bucket diferente daquele onde o registro foi ativado. |
Formato do comando
ossutil api put-bucket-logging --bucket value --bucket-logging-status value [flags]
|
Parâmetro |
Tipo |
Descrição |
|
--bucket |
string |
Nome do bucket. |
|
--bucket-logging-status |
string |
Contêiner que armazena as informações de status dos logs de acesso. |
O comando put-bucket-logging corresponde à API PutBucketLogging. Para detalhes sobre o significado de cada parâmetro da API, consulte PutBucketLogging.
--bucket-logging-status
A opção de configuração --bucket-logging-status aceita sintaxe XML e JSON. Quando o valor da opção inclui o prefixo file://, a configuração é lida a partir de um arquivo.
-
Sintaxe XML:
<BucketLoggingStatus> <LoggingEnabled> <TargetBucket>string</TargetBucket> <TargetPrefix>string</TargetPrefix> </LoggingEnabled> </BucketLoggingStatus> -
Sintaxe JSON:
{ "LoggingEnabled": { "TargetBucket": "string", "TargetPrefix": "string" } }
Para consultar as opções globais de linha de comando suportadas, veja Opções globais de linha de comando.
Exemplos de uso
Os exemplos a seguir demonstram como ativar a entrega de logs para o bucket examplebucket, definindo o prefixo dos arquivos de log como MyLog- e utilizando o bucket dest-bucket para armazenar os logs de acesso.
-
Com um arquivo de configuração XML cujo conteúdo em bucket-logging-status.xml é:
<?xml version="1.0" encoding="UTF-8"?> <BucketLoggingStatus> <LoggingEnabled> <TargetBucket>dest-bucket</TargetBucket> <TargetPrefix>MyLog-</TargetPrefix> </LoggingEnabled> </BucketLoggingStatus>
Execute o seguinte comando:
ossutil api put-bucket-logging --bucket examplebucket --bucket-logging-status file://bucket-logging-status.xml
-
Utilizando um arquivo de configuração JSON com o seguinte conteúdo em bucket-logging-status.json:
{ "LoggingEnabled": { "TargetBucket": "destBucket", "TargetPrefix": "MyLog-" } }Execute o seguinte comando:
ossutil api put-bucket-logging --bucket examplebucket --bucket-logging-status file://bucket-logging-status.json -
Passando os parâmetros de configuração diretamente em JSON:
ossutil api put-bucket-logging --bucket examplebucket --bucket-logging-status "{\"LoggingEnabled\":{\"TargetBucket\":\"destBucket\",\"TargetPrefix\":\"MyLog-\"}}"