Todos os produtos
Search
Central de documentação

Object Storage Service:PutBucketLogging

Última atualização: Sep 11, 2026

A operação PutBucketLogging ativa o recurso de transferência de logs para um bucket. Esse recurso gera arquivos de log a cada hora, seguindo uma convenção de nomenclatura fixa, e grava os logs de acesso do OSS no bucket especificado.

Observações de uso

  • A permissão oss:PutBucketLogging é necessária para ativar o registro em log de um bucket por meio da operação PutBucketLogging. Para mais informações, consulte Grant a custom policy.

  • O bucket de origem, onde os logs são gerados, e o bucket de destino, onde ficam armazenados, podem ser iguais ou diferentes. No entanto, o bucket de destino deve pertencer à mesma conta Alibaba Cloud e estar na mesma região do bucket de origem.

  • O OSS gera logs de acesso ao bucket de hora em hora. Contudo, as requisições de uma determinada hora podem aparecer no log da hora anterior ou da seguinte.

    Para mais detalhes sobre as convenções de nomenclatura dos objetos de log e o formato dos logs, consulte Logging.

  • Enquanto o registro em log estiver ativo, o OSS continuará gerando objetos de log. Exclua os objetos de log desnecessários para reduzir custos de armazenamento.

    Configure regras de ciclo de vida para excluir objetos de log periodicamente. Para mais informações, consulte Lifecycle rules based on last modification time.

  • Novos campos podem ser adicionados aos logs do OSS futuramente. Recomendamos que os desenvolvedores considerem possíveis problemas de compatibilidade ao criar ferramentas de processamento de logs.

Permissões

Por padrão, uma conta Alibaba Cloud possui permissões totais. Usuários RAM ou funções RAM vinculados a essa conta não têm nenhuma permissão inicialmente. A conta Alibaba Cloud ou o administrador da conta deve conceder as permissões operacionais necessárias por meio de RAM policies ou Bucket Policy.

API

Action

Descrição

PutBucketLogging

oss:PutBucketLogging

Ativa o registro em log para um bucket.

oss:PutObject

Necessária para o bucket de destino quando os logs forem gravados em um bucket diferente daquele onde o registro em log foi ativado.

Sintaxe da requisição

PUT /?logging HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Authorization: SignatureValue 
Host: Host
<?xml version="1.0" encoding="UTF-8"?>
<BucketLoggingStatus>
    <LoggingEnabled>
        <TargetBucket>TargetBucket</TargetBucket>
        <TargetPrefix>TargetPrefix</TargetPrefix>
    </LoggingEnabled>
</BucketLoggingStatus>

Cabeçalhos da requisição

Uma requisição PutBucketLogging contém apenas cabeçalhos comuns de requisição. Para mais informações, consulte Common request headers.

Elementos da requisição

Elemento

Tipo

Obrigatório

Exemplo

Descrição

BucketLoggingStatus

Container

Sim

N/A

Container que armazena as informações de status do registro em log.

Nós filhos: LoggingEnabled

Nós pais: nenhum

LoggingEnabled

Container

Parâmetro obrigatório ao ativar o registro em log.

N/A

Container que armazena as informações do log de acesso.

Nós filhos: TargetBucket, TargetPrefix e LoggingRole

Nós pais: BucketLoggingStatus

TargetBucket

String

Parâmetro obrigatório ao ativar o registro em log.

examplebucket

Bucket destinado ao armazenamento dos logs de acesso.

Nós filhos: nenhum

Nós pais: BucketLoggingStatus e LoggingEnabled

TargetPrefix

String

Não

MyLog-

Prefixo dos objetos de log salvos. Este elemento pode ficar vazio.

Nós filhos: nenhum

Nós pais: BucketLoggingStatus e LoggingEnabled

LoggingRole

String

Não

AliyunOSSLoggingDefaultRole

Nome da função RAM que autoriza o OSS a gravar logs, como AliyunOSSLoggingDefaultRole. Especifique o nome da função RAM, não o ARN da função RAM.

Nós filhos: nenhum

Nó pai: BucketLoggingStatus.LoggingEnabled

Cabeçalhos da resposta

Todos os cabeçalhos na resposta de uma requisição PutBucketLogging são cabeçalhos comuns de resposta. Para mais informações, consulte Common response headers.

Exemplos

Exemplos para buckets

  • Exemplo de requisição para ativar o registro em log

    PUT /?logging HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Content-Length: 186
    Date: Thu, 17 Apr 2025 03:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <BucketLoggingStatus>
        <LoggingEnabled>
            <TargetBucket>examplebucket</TargetBucket>
            <TargetPrefix>MyLog-</TargetPrefix>
            <LoggingRole>AliyunOSSLoggingDefaultRole</LoggingRole>
        </LoggingEnabled>
    </BucketLoggingStatus>

    Exemplo de resposta

    HTTP/1.1 200 OK
    x-oss-request-id: 534B371674E888648906008B
    Date: Fri, 04 May 2012 03:21:12 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
  • Exemplo de requisição para desativar o registro em log

    Para desativar o registro em log de um bucket, envie apenas um BucketLoggingStatus vazio. Exemplo:

    PUT /?logging HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Content-Type: application/xml
    Content-Length: 86
    Date: Thu, 17 Apr 2025 04:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    <?xml version="1.0" encoding="UTF-8"?>
    <BucketLoggingStatus>
    </BucketLoggingStatus>

    Exemplo de resposta

    HTTP/1.1 200 OK
    x-oss-request-id: 534B371674125A4D8906008B
    Date: Fri, 04 May 2012 04:21:12 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS

    Exemplos para buckets vetoriais

    Ao especificar o Host para um bucket vetorial, utilize o ID de região padrão da Alibaba Cloud (exemplo: cn-hangzhou ). Não use o ID de região legado do OSS (exemplo: oss-cn-hangzhou ) aplicado a buckets de uso geral.

    Exemplo de requisição para ativar o registro em log

    PUT /?logging HTTP/1.1
    Host: examplebucket-123***456.cn-hangzhou-internal.oss-vectors.aliyuncs.com
    Content-Length: 186
    Content-Type: application/json
    Date: Thu, 17 Apr 2025 03:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    {
      "BucketLoggingStatus": {
        "LoggingEnabled": {
          "TargetBucket": "examplebucket",
          "TargetPrefix": "MyLog-",
          "LoggingRole": "AliyunOSSLoggingDefaultRole"
        }
      }
    }

    Exemplo de resposta

    HTTP/1.1 200 OK
    x-oss-request-id: 534B371674E888648906008B
    Date: Fri, 04 May 2012 03:21:12 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS

SDKs do OSS

Use os SDKs do OSS nas linguagens de programação abaixo para chamar a operação PutBucketLogging:

ossutil

Para informações sobre o comando do ossutil correspondente à operação PutBucketLogging, consulte put-bucket-logging.

Códigos de erro

Código de erro

Código de status HTTP

Descrição

NoSuchBucket

404

Retornado quando o bucket de origem não existe.

InvalidTargetBucketForLogging

400

Indica que o bucket de origem e o bucket de destino não pertencem ao mesmo data center.

InvalidDigest

400

Ocorre quando o valor Content-MD5 do corpo da mensagem difere do valor Content-MD5 no cabeçalho da requisição.

MalformedXML

400

Sinaliza que o formato XML na requisição é inválido.

InvalidTargetBucketForLogging

403

Retornado se o solicitante não for o proprietário do bucket de destino.

AccessDenied

403

Indica que o solicitante não é o proprietário do bucket de origem.