Tous les produits
Search
Centre de documentation

Object Storage Service:PutBucketLogging

Dernière mise à jour :Sep 11, 2026

L'opération PutBucketLogging active la fonctionnalité de transfert des journaux pour un bucket. Cette fonction génère des fichiers de journalisation toutes les heures selon une convention de nommage fixe et écrit les journaux d'accès OSS dans le bucket spécifié.

Notes d'utilisation

  • L'autorisation oss:PutBucketLogging est requise pour activer la journalisation d'un bucket via l'opération PutBucketLogging. Pour plus d'informations, consultez la section Grant a custom policy.

  • Le bucket source (génération des journaux) et le bucket de destination (stockage des journaux) peuvent être identiques ou distincts. Toutefois, le bucket de destination doit appartenir au même compte Alibaba Cloud et se trouver dans la même région que le bucket source.

  • OSS génère les journaux d'accès au bucket toutes les heures. Les requêtes effectuées au cours d'une heure donnée peuvent toutefois être enregistrées dans le journal de l'heure précédente ou suivante.

    Pour plus d'informations sur les conventions de nommage des objets de journal et sur le format des journaux, consultez la section Logging.

  • Même après la désactivation de la journalisation, OSS continue de générer des objets de journal. Supprimez les objets de journal inutiles afin de réduire vos coûts de stockage.

    Configurez des règles de cycle de vie pour supprimer régulièrement les objets de journal. Pour plus d'informations, consultez la section Lifecycle rules based on last modification time.

  • De nouveaux champs peuvent être ajoutés aux journaux OSS. Nous recommandons aux développeurs de prendre en compte les éventuels problèmes de compatibilité lors du développement d'outils de traitement des journaux.

Autorisations

Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. Les utilisateurs RAM ou les rôles RAM associés à un compte Alibaba Cloud ne disposent d'aucune autorisation par défaut. Le compte Alibaba Cloud ou l'administrateur du compte doit accorder les autorisations d'opération via des RAM policies ou une Bucket Policy.

API

Action

Description

PutBucketLogging

oss:PutBucketLogging

Active la journalisation pour un bucket.

oss:PutObject

Si les journaux sont écrits dans un autre bucket lors de l'activation de la journalisation, cette autorisation est requise pour le bucket de destination.

Syntaxe de la requête

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>

En-têtes de requête

Une requête PutBucketLogging contient uniquement des en-têtes de requête communs. Pour plus d'informations, consultez la section Common request headers.

Éléments de requête

Element

Type

Required

Example

Description

BucketLoggingStatus

Container

Yes

N/A

Conteneur qui stocke les informations sur l'état de la journalisation.

Nœuds enfants : LoggingEnabled

Nœuds parents : aucun

LoggingEnabled

Container

Ce paramètre est requis lorsque vous activez la journalisation.

N/A

Conteneur qui stocke les informations sur les journaux d'accès.

Nœuds enfants : TargetBucket, TargetPrefix et LoggingRole

Nœuds parents : BucketLoggingStatus

TargetBucket

String

Ce paramètre est requis lorsque vous activez la journalisation.

examplebucket

Bucket qui stocke les journaux d'accès.

Nœuds enfants : aucun

Nœuds parents : BucketLoggingStatus et LoggingEnabled

TargetPrefix

String

No

MyLog-

Préfixe des objets de journal enregistrés. Cet élément peut rester vide.

Nœuds enfants : aucun

Nœuds parents : BucketLoggingStatus et LoggingEnabled

LoggingRole

String

No

AliyunOSSLoggingDefaultRole

Nom du rôle RAM qui autorise OSS à écrire les journaux, par exemple AliyunOSSLoggingDefaultRole. Spécifiez le nom du rôle RAM, et non son ARN.

Nœuds enfants : aucun

Nœud parent : BucketLoggingStatus.LoggingEnabled

En-têtes de réponse

Tous les en-têtes de la réponse à une requête PutBucketLogging sont des en-têtes de réponse communs. Pour plus d'informations, consultez la section Common response headers.

Exemples

Exemples pour les buckets

  • Exemple de requête pour activer la journalisation

    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>

    Exemple de réponse

    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
  • Exemple de requête pour désactiver la journalisation

    Pour désactiver la journalisation d'un bucket, envoyez uniquement un BucketLoggingStatus vide. Exemple :

    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>

    Exemple de réponse

    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

    Exemples pour les buckets vectoriels

    Lors de la spécification du Host pour un bucket vectoriel, utilisez l'ID de région Alibaba Cloud standard (exemple : cn-hangzhou ). N'utilisez pas l'ancien ID de région OSS (exemple : oss-cn-hangzhou ) utilisé pour les buckets polyvalents.

    Exemple de requête pour activer la journalisation

    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"
        }
      }
    }

    Exemple de réponse

    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 OSS

Utilisez les SDK OSS pour les langages de programmation suivants afin d'appeler l'opération PutBucketLogging :

ossutil

Pour obtenir des informations sur la commande ossutil correspondant à l'opération PutBucketLogging, consultez la section put-bucket-logging.

Codes d'erreur

Error code

HTTP status code

Description

NoSuchBucket

404

Le message d'erreur indique que le bucket source n'existe pas.

InvalidTargetBucketForLogging

400

Le message d'erreur indique que le bucket source et le bucket de destination n'appartiennent pas au même centre de données.

InvalidDigest

400

Le message d'erreur indique que la valeur Content-MD5 du corps du message est incohérente avec la valeur Content-MD5 de l'en-tête de requête.

MalformedXML

400

Le message d'erreur indique que le format XML de la requête n'est pas valide.

InvalidTargetBucketForLogging

403

Le message d'erreur indique que le demandeur n'est pas le propriétaire du bucket de destination.

AccessDenied

403

Le message d'erreur indique que le demandeur n'est pas le propriétaire du bucket source.