Todos los productos
Search
Centro de documentos

Object Storage Service:Almacenamiento de registros (Android SDK)

Última actualización: Sep 03, 2026

El registro de acceso de Object Storage Service (OSS) captura información detallada sobre las solicitudes realizados a sus buckets. Después de habilitar el registro en un bucket de origen, OSS genera y entrega automáticamente archivos de registro cada hora en el bucket de destino que especifique, mediante una convención de nomenclatura predefinida.

Notas de uso

  • Antes de ejecutar el código de ejemplo de este tema, debe crear una instancia de OSSClient mediante métodos como el uso de un nombre de dominio personalizado o Security Token Service (STS). Para obtener más información, consulte Initialization (Android SDK).

Nota

Después de llamar a una operación de API para habilitar o deshabilitar el almacenamiento de registros, actualice la página para ver el cambio. Cambiar de pestaña no actualiza la vista.

Habilite el almacenamiento de registros

El siguiente código de ejemplo habilita el almacenamiento de registros para un 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();

Consulte las configuraciones de almacenamiento de registros

El código de ejemplo que se muestra a continuación consulta las configuraciones de almacenamiento de registros.

Nota

Si la operación es correcta, la salida usa el formato testBucket*path, donde testBucket es el nombre del bucket y path es la ruta de almacenamiento.

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();

Deshabilite el almacenamiento de registros

Este código de ejemplo deshabilita el almacenamiento de registros para un 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();
            

Referencias