La operación PutBucketLogging se utiliza para habilitar la función de transferencia de registros en un bucket. Esta función genera archivos de registro cada hora con una convención de nombres fija y escribe los registros de acceso de OSS en el bucket que usted especifique.
Notas de uso
El permiso
oss:PutBucketLogginges obligatorio para habilitar el registro de un bucket mediante la llamada a la operación PutBucketLogging. Para obtener más información, consulte Grant a custom policy.El bucket de origen del que se generan los registros y el bucket de destino donde se almacenan pueden ser iguales o distintos. Sin embargo, el bucket de destino debe pertenecer a la misma cuenta de Alibaba Cloud y a la misma región que el bucket de origen.
-
OSS genera los registros de acceso del bucket cada hora. No obstante, las solicitudes de una hora determinada podrían registrarse en el archivo generado durante la hora anterior o la siguiente.
Para obtener más información sobre las convenciones de nombres y el formato de los objetos de registro, consulte Logging.
-
OSS sigue generando objetos de registro hasta que usted deshabilite esta función. Elimine los objetos de registro que ya no necesite para reducir sus costos de almacenamiento.
Puede configurar reglas de ciclo de vida para eliminar periódicamente los objetos de registro. Para obtener más información, consulte Lifecycle rules based on last modification time.
Es posible que se agreguen más campos a los registros de OSS. Se recomienda que los desarrolladores consideren posibles problemas de compatibilidad al crear herramientas de procesamiento de registros.
Permisos
De forma predeterminada, una cuenta de Alibaba Cloud tiene todos los permisos. Los usuarios o roles de RAM asociados a una cuenta de Alibaba Cloud no cuentan con ningún permiso de manera predeterminada. La cuenta de Alibaba Cloud o su administrador deben otorgar los permisos de operación mediante RAM policies o Bucket Policy.
|
API |
Action |
Descripción |
|
PutBucketLogging |
|
Habilita el registro de un bucket. |
|
|
Si al habilitar el registro de un bucket los registros se escriben en otro bucket, este permiso es obligatorio para el bucket de destino. |
Sintaxis de la solicitud
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>
Encabezados de la solicitud
Una solicitud PutBucketLogging solo contiene encabezados de solicitud comunes. Para obtener más información, consulte Common request headers.
Elementos de la solicitud
Elemento | Tipo | Obligatorio | Ejemplo | Descripción |
BucketLoggingStatus | Contenedor | Sí | N/A | Contenedor que almacena la información del estado de registro. Nodos secundarios: LoggingEnabled Nodos primarios: ninguno |
LoggingEnabled | Contenedor | Este parámetro es obligatorio cuando se habilita el registro. | N/A | Contenedor que almacena la información del registro de acceso. Nodos secundarios: TargetBucket, TargetPrefix y LoggingRole Nodos primarios: BucketLoggingStatus |
TargetBucket | Cadena | Este parámetro es obligatorio cuando se habilita el registro. | examplebucket | Bucket donde se almacenan los registros de acceso. Nodos secundarios: ninguno Nodos primarios: BucketLoggingStatus y LoggingEnabled |
TargetPrefix | Cadena | No | MyLog- | Prefijo de los objetos de registro guardados. Este elemento puede dejarse vacío. Nodos secundarios: ninguno Nodos primarios: BucketLoggingStatus y LoggingEnabled |
LoggingRole | Cadena | No | AliyunOSSLoggingDefaultRole | Nombre del rol de RAM que autoriza a OSS a escribir registros, como AliyunOSSLoggingDefaultRole. Especifique el nombre del rol de RAM, no su ARN. Nodos secundarios: ninguno Nodo primario: BucketLoggingStatus.LoggingEnabled |
Encabezados de la respuesta
Todos los encabezados de la respuesta a una solicitud PutBucketLogging son encabezados de respuesta comunes. Para obtener más información, consulte Common response headers.
Ejemplos
Ejemplos para buckets
-
Solicitud de ejemplo para habilitar el registro
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>Respuesta de ejemplo
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 -
Solicitud de ejemplo para deshabilitar el registro
Para deshabilitar el registro de un bucket, envíe únicamente un elemento BucketLoggingStatus vacío. Ejemplo:
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>Respuesta de ejemplo
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: AliyunOSSEjemplos para buckets vectoriales
Al especificar el
Hostde un bucket vectorial, utilice el identificador de región estándar de Alibaba Cloud (por ejemplo:cn-hangzhou). No use el identificador de región heredado de OSS (por ejemplo:oss-cn-hangzhou) que se emplea en los buckets de propósito general.Solicitud de ejemplo para habilitar el registro
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" } } }Respuesta de ejemplo
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
SDK de OSS
Utilice los SDK de OSS de los siguientes lenguajes de programación para llamar a la operación PutBucketLogging:
ossutil
Para obtener información sobre el comando de ossutil correspondiente a la operación PutBucketLogging, consulte put-bucket-logging.
Códigos de error
|
Código de error |
Código de estado HTTP |
Descripción |
|
NoSuchBucket |
404 |
Mensaje de error devuelto porque el bucket de origen no existe. |
|
InvalidTargetBucketForLogging |
400 |
Mensaje de error devuelto porque el bucket de origen y el bucket de destino no pertenecen al mismo centro de datos. |
|
InvalidDigest |
400 |
Mensaje de error devuelto porque el valor Content-MD5 del cuerpo del mensaje no coincide con el valor Content-MD5 del encabezado de la solicitud. |
|
MalformedXML |
400 |
Mensaje de error devuelto porque el formato XML de la solicitud no es válido. |
|
InvalidTargetBucketForLogging |
403 |
Mensaje de error devuelto porque el solicitante no es el propietario del bucket de destino. |
|
AccessDenied |
403 |
Mensaje de error devuelto porque el solicitante no es el propietario del bucket de origen. |