Tous les produits
Search
Centre de documentation

Object Storage Service:Use event notifications to process real-time object changes

Dernière mise à jour :Sep 23, 2026

Configurez des règles de notification d'événements OSS pour traiter, synchroniser, surveiller, déclencher des workflows métier ou journaliser les modifications apportées aux objets en temps réel. Spécifiez les objets à surveiller et acheminez les notifications vers un endpoint HTTP ou une file d'attente SMQ.

Prérequis

Vous avez activé Simple Message Queue (SMQ). Activez SMQ sur la page produit SMQ.

Notes d'utilisation

  • Lorsqu'une opération OSS déclenche une règle de notification d'événement, OSS appelle SMQ pour envoyer une notification. Cet appel peut échouer. Vérifiez l'en-tête de réponse x-oss-event-status encodé en Base64 pour confirmer la livraison. Une valeur décodée égale à {"Result": "Ok"} indique que l'opération a réussi.

  • Les notifications d'événements entraînent des frais SMQ. Consultez la section Facturation.

  • Les notifications d'événements sont disponibles dans certaines régions.

  • Vous pouvez configurer jusqu'à 10 règles de notification d'événements par région. Pour augmenter cette limite, contactez le support technique.

  • Les objets TS et M3U8 générés à partir de flux RTMP (Real-Time Messaging Protocol) ne déclenchent pas de règles de notification d'événements. Consultez les opérations liées à LiveChannel.

Fonctionnement

Lorsqu'une opération sur votre bucket déclenche une règle de notification d'événement, SMQ envoie une notification à l'endpoint HTTP ou à la file d'attente spécifiée.

image

Types d'événements

Groupe

Type

Description

ObjectCreated (Créer un objet)

ObjectCreated:PutObject

Télécharge un objet. PutObject.

ObjectCreated:PostObject

Télécharge un objet via une requête POST basée sur un formulaire. PostObject.

ObjectCreated:CopyObject

Copie un objet. CopyObject.

ObjectCreated:AppendObject

Ajoute des données pour télécharger un objet. AppendObject.

ObjectCreated:InitiateMultipartUpload

Initie un téléchargement multipartie. InitiateMultipartUpload.

ObjectCreated:UploadPart

Télécharge une partie lors d'un téléchargement multipartie. UploadPart.

ObjectCreated:UploadPartCopy

Copie une partie lors d'un téléchargement multipartie. UploadPartCopy.

ObjectCreated:CompleteMultipartUpload

Finalise un téléchargement multipartie. CompleteMultipartUpload.

ObjectCreated:PutSymlink

Crée un lien symbolique pour un objet. PutSymlink.

ObjectCreated:Mirror

L'objet est créé par mise en miroir.

Remarque

Par défaut, la mise en miroir OSS déclenche ObjectCreated:PutObject. Pour utiliser ObjectCreated:Mirror à la place, soumettez un ticket.

ObjectCreated:*

Tout événement dont le nom commence par ObjectCreated:.

Remarque

Ce caractère générique couvre tous les types d'événements actuels et futurs sous ObjectCreated.

ObjectDownloaded (Télécharger un objet)

ObjectDownloaded:GetObject

Un objet est téléchargé.

ObjectModified (Modifier un objet)

ObjectModified:UpdateObjectMeta

Les métadonnées de l'objet sont modifiées via UpdateObjectMeta.

ObjectModified:ChangeStorageClass

La classe de stockage d'un objet est modifiée par une règle de cycle de vie.

ObjectModified:*

Tout événement dont le nom commence par ObjectModified:.

Remarque

Ce caractère générique couvre tous les types d'événements actuels et futurs sous ObjectModified.

ObjectRemoved (Supprimer un objet)

ObjectRemoved:DeleteObject

Supprime un seul objet. DeleteObject.

ObjectRemoved:DeleteObjects

Supprime plusieurs objets. DeleteMultipleObjects.

ObjectRemoved:AbortMultipartUpload

Interrompt un téléchargement multipartie et supprime ses parties. AbortMultipartUpload.

ObjectRemoved:*

Tout événement dont le nom commence par ObjectRemoved:.

Remarque

Ce caractère générique couvre tous les types d'événements actuels et futurs sous ObjectRemoved.

ObjectReplication (Répliquer un objet)

ObjectReplication:ObjectCreated

Une opération d'écriture se produit dans le cadre d'un processus de réplication des données.

ObjectReplication:ObjectRemoved

Une opération de suppression se produit dans le cadre d'un processus de réplication des données.

ObjectReplication:ObjectModified

Une opération d'écrasement se produit dans le cadre d'un processus de réplication des données.

ObjectReplication:*

Tout événement dont le nom commence par ObjectReplication:.

Remarque

Ce caractère générique couvre tous les types d'événements actuels et futurs sous ObjectReplication.

ObjectRestore (Restaurer un objet)

ObjectRestore:FinishRestore

Un objet est restauré depuis le stockage d'archivage. S'applique uniquement aux objets Cold Archive et Deep Cold Archive.

Message de notification

Chaque notification d'événement contient une charge utile JSON encodée en Base64 avec la structure suivante :

{
    "events": [
      {
        "eventName": "",  // The event notification type.
        "eventSource": "", // The source of the event notification. This value is fixed as "acs:oss".
        "eventTime": "", // The time when the event occurred, in ISO 8601 format.
        "eventVersion": "", // The version of the event notification. The current version is "1.0".
        "oss": {
            "bucket": {
                "arn": "", // The Alibaba Cloud Resource Name (ARN) of the bucket, in the format of "acs:oss:region:uid:bucketname".
                "name": "", // The name of the destination bucket.
                "ownerIdentity": "" // The owner of the bucket.
            }, 
            "object": {
                "deltaSize": "", // The change in the object size. For example, when a new object is created, this value is the object size. When an object is overwritten, this value is the difference in size between the new object and the old object, which can be negative.
                "eTag": "", // The ETag of the object.
                "key": "", // The object key.
                "position": "", // The starting position for an append operation. This parameter applies only to the ObjectCreated:AppendObject event. The first AppendObject request for an object starts at byte 0.
                "readFrom": "", // The starting position for a read operation. This parameter applies only to the ObjectDownloaded:GetObject event. For a non-range request, this value is 0. For a range request, this value is the starting byte of the request.
                "readTo": "", // The ending position for a read operation. This parameter applies only to the ObjectDownloaded:GetObject event. For a non-range request, this value is the object size. For a range request, this value is the ending byte of the range request plus 1.
                "size": "" // The size of the object.
                }, 
        "ossSchemaVersion": "", // The version of this schema. The current version is "1.0".
        "ruleId": "GetObject", // The ID of the matching event notification rule.
        "region": "", // The bucket's region.
        "requestParameters": {
            "sourceIPAddress": "" // The source IP address of the request.
            }, 
        "responseElements": {
            "requestId": "" // The request ID.
            }, 
        "userIdentity": {
            "principalId": "" // The UID of the user who made the request.
            }, 
        "xVars": {  // Custom parameters in the OSS upload callback feature.
            "x:callback-var1":"value1",
            "x:callback-var2":"value2"
            }
        }        
     }
  ]
}

Exemple de message de notification :

{"events": [
      {
        "eventName": "ObjectDownloaded:GetObject",
        "eventSource": "acs:oss",
        "eventTime": "2016-07-01T11:17:30.000Z",
        "eventVersion": "1.0",
        "oss": {
            "bucket": {
                "arn": "acs:oss:cn-shenzhen:114895646818****:event-notification-test-shenzhen",
                "name": "event-notification-test-shenzhen",
                "ownerIdentity": "114895646818****"},
            "object": {
                "deltaSize": 0,
                "eTag": "0CC175B9C0F1B6468E1199E269772661",
                "key": "test",
                "readFrom": 0,
                "readTo": 1,
                "size": 1
            },
        "ossSchemaVersion": "1.0",
        "ruleId": "GetObjectRule",
        "region": "cn-shenzhen",
        "requestParameters": {
            "sourceIPAddress": "198.51.100.1"
            },
        "responseElements": {
            "requestId": "5FF16B65F05BC932307A3C3C"
            },
        "userIdentity": {
            "principalId": "114895646818****"
            },
        "xVars": {
            "x:callback-var1":"value1",
            "x:callback-var2":"value2"
            }
        }        
     }
  ]
}

Procédure

  1. Connectez-vous à la console OSS.

  2. Dans le volet de navigation de gauche, cliquez sur Buckets. Sur la page qui s'affiche, cliquez sur le nom du bucket cible.

  3. Dans le volet de navigation de gauche, choisissez Data Processing > Event Notification.

  4. Sur la page Event Notification.

  5. Dans le panneau Create Rule.

    La règle de notification d'événement prend effet en environ 10 minutes.

FAQ

Pourquoi une notification d'événement n'est-elle pas déclenchée lorsque je supprime un objet ?

Références