Todos os produtos
Search
Central de documentação

Object Storage Service:Armazenamento de logs (Android SDK)

Última atualização: Jul 03, 2026

O registro de acesso do Object Storage Service (OSS) captura informações detalhadas sobre as solicitações aos seus buckets. Após ativar o log para um bucket de origem, o OSS gera e entrega automaticamente arquivos de log a cada hora em um bucket de destino especificado, seguindo uma convenção de nomenclatura predefinida.

Notas de uso

  • Antes de executar o código de exemplo deste tópico, crie uma instância OSSClient com métodos como nome de domínio personalizado ou Security Token Service (STS). Para mais informações, consulte Inicialização (Android SDK).

Nota

Após chamar uma operação de API para ativar ou desativar o armazenamento de logs, atualize a página para visualizar a alteração. A troca de abas não atualiza a exibição.

Ativar o armazenamento de logs

O código de exemplo a seguir ativa o armazenamento de logs para um bucket.

PutBucketLoggingRequest request = new PutBucketLoggingRequest();
// Specify the source bucket for which to enable access logging.
request.setBucketName("yourSourceBucketName");
// Specify the destination bucket to store access logs.
// The destination bucket and the source bucket must be in the same region. The source and destination buckets can be the same or different.
request.setTargetBucketName("yourTargetBucketName");
// Set the folder where the log files are stored.
request.setTargetPrefix("<yourTargetPrefix>");

OSSAsyncTask task = oss.asyncPutBucketLogging(request, new OSSCompletedCallback<PutBucketLoggingRequest, PutBucketLoggingResult>() {
    @Override
    public void onSuccess(PutBucketLoggingRequest request, PutBucketLoggingResult result) {
        OSSLog.logInfo("code::"+result.getStatusCode());
    }

    @Override
    public void onFailure(PutBucketLoggingRequest request, ClientException clientException, ServiceException serviceException) {
         OSSLog.logError("error: "+serviceException.getRawMessage());
    }
});
task.waitUntilFinished();

Visualizar configurações de armazenamento de logs

O exemplo abaixo consulta as configurações de armazenamento de logs.

Nota

Em caso de sucesso, a saída utiliza o formato testBucket*path, onde testBucket é o nome do bucket e path é o caminho de armazenamento.

GetBucketLoggingRequest request = new GetBucketLoggingRequest();
request.setBucketName("yourSourceBucketName");
OSSAsyncTask task = oss.asyncGetBucketLogging(request, new OSSCompletedCallback<GetBucketLoggingRequest, GetBucketLoggingResult>() {
    @Override
    public void onSuccess(GetBucketLoggingRequest request, GetBucketLoggingResult result) {
        Log.i("i", "info: " + result.getTargetBucketName()+"*"+result.getTargetPrefix());

    }

    @Override
    public void onFailure(GetBucketLoggingRequest request, ClientException clientException, ServiceException serviceException) {
       // Request error.
              if (clientException != null) {
                  // Client exception, such as a network error.
                  clientException.printStackTrace();
              }
              if (serviceException != null) {
                  // Server exception.
                  Log.e("ErrorCode", serviceException.getErrorCode());
                  Log.e("RequestId", serviceException.getRequestId());
                  Log.e("HostId", serviceException.getHostId());
                  Log.e("RawMessage", serviceException.getRawMessage());
              }
    }
});
task.waitUntilFinished();

Desativar o armazenamento de logs

Este exemplo desativa o armazenamento de logs para um bucket.

DeleteBucketLoggingRequest request = new DeleteBucketLoggingRequest();
request.setBucketName("yourSourceBucketName");
OSSAsyncTask task = oss.asyncDeleteBucketLogging(request, new OSSCompletedCallback<DeleteBucketLoggingRequest, DeleteBucketLoggingResult>() {
    @Override
    public void onSuccess(DeleteBucketLoggingRequest request, DeleteBucketLoggingResult result) {
        Log.i("i", "code:"+result.getStatusCode());

    }

    @Override
    public void onFailure(DeleteBucketLoggingRequest request, ClientException clientException, ServiceException serviceException) {
        // Request error.
              if (clientException != null) {
                  // Client exception, such as a network error.
                  clientException.printStackTrace();
              }
              if (serviceException != null) {
                  // Server exception.
                  Log.e("ErrorCode", serviceException.getErrorCode());
                  Log.e("RequestId", serviceException.getRequestId());
                  Log.e("HostId", serviceException.getHostId());
                  Log.e("RawMessage", serviceException.getRawMessage());
              }
    }
});

task.waitUntilFinished();
            

Referências