Tous les produits
Search
Centre de documentation

Simple Message Queue (formerly MNS):Notifications d'événements OSS

Dernière mise à jour :Aug 10, 2026

En créant une règle de notification d'événement, vous pouvez utiliser Simple Message Queue (SMQ) pour transmettre les messages d'événement provenant de vos ressources Object Storage Service (OSS) vers un endpoint spécifié. Cette rubrique présente les types d'événements, le format des messages et la procédure de création des règles de notification.

Contexte

Après la création d'une règle de notification d'événement, Simple Message Queue (SMQ) transmet les messages d'événement des ressources OSS spécifiées à un endpoint, comme illustré ci-dessous.

image

Lorsqu'une opération OSS déclenche une règle de notification d'événement correspondante, un en-tête est ajouté à la réponse. Cet en-tête décrit le résultat de la notification sans affecter la réponse API d'origine. Si aucune règle ne correspond, aucun en-tête n'est ajouté. Si une règle correspond, l'en-tête est ajouté indépendamment du succès ou de l'échec de l'envoi du message. Le format est le suivant :

x-oss-process-status: 'ewogICAgImNvZGUiOiAiU3VjY2VzcyIsCiAgICAibWVzc2FnZSI6ICJOb3RpZmljYXRpb25TdWNjZWVkIiwKICAgICJ0eXBlIjogIkV2ZW50Tm90aWZpY2F****'
  • Clé : x-oss-process-status

  • Valeur : Une chaîne encodée en Base64. L'exemple suivant montre l'objet JSON décodé :

    {
        "code":"Success",  // The result of the event notification attempt. Returns Success or Fail. Success indicates that OSS sent the message to the topic, but does not guarantee that the topic pushed the message to the endpoint.
        "message":"NotificationSucceed",   // A detailed description of the operation. If it fails, this field provides the reason for the failure.
        "type":"EventNotification",   // The operation type. For event notifications, this is always EventNotification.
        "version":"1.0"
    }

La rubrique Types de transmission décrit les méthodes de distribution de messages disponibles.

Cas d'utilisation

  • Surveillez l'activité des ressources. Créez des règles pour recevoir des notifications lorsque d'autres utilisateurs effectuent des opérations sur vos buckets.

  • Analysez les données et les tendances. Suivez la fréquence des opérations au fil du temps ou importez les messages de notification dans des services tels qu'E-MapReduce (EMR) pour une analyse approfondie.

  • Surveillez les métriques opérationnelles. Suivez des indicateurs tels que le nombre de requêtes par seconde (QPS) pour des opérations spécifiques sur vos ressources.

Types d'événements

Groupe

Type

Description

ObjectCreated (Création d'objet)

ObjectCreated:PutObject

Charge un objet. PutObject.

ObjectCreated:PostObject

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 charger un objet. AppendObject.

ObjectCreated:InitiateMultipartUpload

Démarre un chargement multipartie. InitiateMultipartUpload.

ObjectCreated:UploadPart

Charge une partie lors d'un chargement multipartie. UploadPart.

ObjectCreated:UploadPartCopy

Copie une partie lors d'un chargement multipartie. UploadPartCopy.

ObjectCreated:CompleteMultipartUpload

Finalise un 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 préfixé par ObjectCreated:.

Remarque

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

ObjectDownloaded (Téléchargement d'objet)

ObjectDownloaded:GetObject

Un objet est téléchargé.

ObjectModified (Modification d'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 préfixé par ObjectModified:.

Remarque

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

ObjectRemoved (Suppression d'objet)

ObjectRemoved:DeleteObject

Supprime un seul objet. DeleteObject.

ObjectRemoved:DeleteObjects

Supprime plusieurs objets. DeleteMultipleObjects.

ObjectRemoved:AbortMultipartUpload

Abandonne un chargement multipartie et supprime ses parties. AbortMultipartUpload.

ObjectRemoved:*

Tout événement préfixé par ObjectRemoved:.

Remarque

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

ObjectReplication (Réplication d'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 préfixé par ObjectReplication:.

Remarque

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

ObjectRestore (Restauration d'objet)

ObjectRestore:FinishRestore

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

Format des messages

Les messages de notification d'événements OSS sont des objets JSON encodés en Base64. L'exemple suivant montre une charge utile de message décodée.

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

La charge utile du message contient les paramètres suivants.

Paramètre

Description

eventName

Le type d'événement.

eventSource

La source de l'événement.

eventTime

L'heure de l'événement, au format UTC.

eventVersion

La version du schéma d'événement.

oss

Contient les détails de l'événement OSS.

bucket

Contient les détails du bucket.

arn

Le nom de ressource Alibaba Cloud (ARN) du bucket.

name

Le nom du bucket.

ownerIdentity

L'ID de l'utilisateur propriétaire du bucket.

object

Contient les détails de l'objet.

deltaSize

La variation de la taille de l'objet, en octets.

eTag

L'eTag de l'objet. Pour les requêtes PutObject, il s'agit du hachage MD5. Pour les autres opérations, il s'agit d'un identifiant unique (et non d'un hachage MD5). Utilisez l'eTag pour vérifier l'intégrité du contenu de l'objet.

key

Le nom de l'objet.

readFrom

La position de l'octet de départ pour une opération de lecture.

readTo

La position de l'octet de fin pour une opération de lecture.

size

La taille totale de l'objet en octets.

ossSchemaVersion

La version du schéma spécifique à OSS.

ruleId

L'ID de la règle qui a déclenché l'événement.

region

La région où se trouve le bucket.

requestParameters

Les paramètres de la requête d'origine.

sourceIPAddress

L'adresse IP source de la requête.

responseElements

Les éléments de la réponse.

requestId

L'ID unique de la requête.

userIdentity

Les informations sur l'utilisateur ayant effectué la requête.

principalId

L'ID utilisateur (UID) du demandeur.

xVars

Les paramètres personnalisés issus d'une configuration de callback OSS.

Remarques d'utilisation

  • Les règles de notification d'événements prennent environ 10 minutes pour entrer en vigueur après leur création.

  • Un topic est créé pour chaque nouvelle règle et peut engendrer des frais selon le guide de Facturation.

  • Vous pouvez créer et supprimer des règles de notification d'événements, mais pas les modifier.

(Facultatif) Étape 1 : Créer une file d'attente

Créez une file d'attente si vous envisagez de l'utiliser comme destination de notification. Vous pouvez également ajouter des abonnements après avoir créé la règle d'événement.

  1. Connectez-vous à la console Simple Message Queue (anciennement MNS).

  2. Dans le volet de navigation de gauche, sélectionnez Queue Model > Queues.

  3. Dans la barre de navigation supérieure, sélectionnez une région.

  4. Sur la page Queues, cliquez sur Create Queue.

  5. Dans le panneau Create Queue, configurez les paramètres suivants et cliquez sur OK :

    • Name : le nom de la file d'attente.

    • Maximum Message Length : la longueur maximale du message envoyé à la file d'attente.

    • Long Polling Period : la durée maximale pendant laquelle les requêtes de sondage long sont maintenues après l'appel de l'opération ReceiveMessage.

    • Visibility Timeout Period : la durée pendant laquelle un message reste à l'état Inactif après sa réception depuis la file d'attente.

    • Message Retention Period : la durée maximale pendant laquelle un message existe dans la file d'attente. Passé ce délai de conservation, le message est supprimé, qu'il ait été reçu ou non.

    • Message Delay Period : le délai après lequel tous les messages envoyés à la file d'attente sont consommés.

    • Enable Logging Feature : indique si la fonctionnalité de journalisation est activée.

    Une fois la file d'attente créée, elle s'affiche sur la page Queues.

(Facultatif) Étape 2 : Créer un bucket

Si le bucket souhaité existe déjà, vous pouvez ignorer cette étape.

  1. Connectez-vous à la console OSS.

  2. Dans le volet de navigation de gauche, cliquez sur Buckets.

  3. Sur la page Buckets, cliquez sur Create bucket.

  4. Dans le panneau Create bucket, configurez les paramètres du bucket, puis cliquez sur OK.

    • Bucket name : Saisissez event-notification-test.

    • Region : Sélectionnez la même région que votre file d'attente.

    • Block public access : Sélectionnez Off.

    • ACL : Sélectionnez Public Read/Write.

      Remarque

      Conservez les valeurs par défaut pour les autres paramètres.

Étape 3 : Créer une règle personnalisée

Lorsque vous créez une règle, Simple Message Queue (SMQ) crée automatiquement un topic et un abonnement pour l'endpoint spécifié. Vous pouvez les gérer dans la console SMQ.

  1. Connectez-vous à la console Simple Message Queue (anciennement MNS).

  2. Dans le volet de navigation de gauche, cliquez sur Event Notifications.

  3. Dans la barre de navigation supérieure, sélectionnez une région.

  4. Sur la page Event Notifications, cliquez sur l'onglet OSS, puis sur Create Rule.

  5. Dans le panneau Create rule - OSS, configurez les paramètres suivants, puis cliquez sur OK.

    • Instance Name : Saisissez un nom pour la règle.

    • Event Type : Sélectionnez un ou plusieurs types d'événements.

    • Match rule : Configurez la règle de correspondance.

      Remarque

      Une règle de correspondance peut être un nom complet, un préfixe, un suffixe ou une combinaison d'un préfixe et d'un suffixe. Les définitions de ressources de différentes règles ne doivent pas se chevaucher. Une ressource OSS est spécifiée au format bucket/object. Par exemple, dans la ressource movie/hello.avi, movie est le bucket et hello.avi est l'objet.

      • Nom complet : movie/hello.avi.

      • Préfixe :

        • movie/hello : Correspond à tous les objets du bucket movie ayant le préfixe hello.

        • movie/ : Correspond à tous les objets du bucket movie.

        • mov : Correspond à tous les objets de n'importe quel bucket dont le nom a le préfixe mov.

      • Suffixe : .avi : Correspond à tous les objets de n'importe quel bucket ayant le suffixe .avi.

      • Préfixe et suffixe : Préfixe movie/ et suffixe .avi : Correspond à tous les objets du bucket movie ayant le suffixe .avi.

    • Destination : Sélectionnez Queue et saisissez le nom de la file d'attente que vous avez créée à l'étape 1.

Étape 4 : Charger un objet

  1. Connectez-vous à la console OSS.

  2. Dans le volet de navigation de gauche, cliquez sur Buckets.

  3. Sur la page Buckets, cliquez sur le nom du bucket cible.

  4. Sélectionnez Object management > Object list, puis cliquez sur Upload object.

  5. Dans le panneau Upload object, spécifiez le répertoire de chargement et l'ACL de l'objet, puis cliquez sur Upload object. Charger des objets à l'aide de la console OSS.

    La colonne Status affiche « Uploaded ».

Étape 5 : Recevoir des messages

  1. Connectez-vous à la console Simple Message Queue (anciennement MNS).

  2. Dans le volet de navigation de gauche, sélectionnez Queue Model > Queues.

  3. Dans la barre de navigation supérieure, sélectionnez une région.

  4. Sur la page Queues, localisez la file d'attente cible et, dans la colonne Action, choisissez More > Send and receive messages.

  5. Sur la page Send and receive messages, dans la section Receive messages, cliquez sur Receive message.

    La liste des messages de la file d'attente s'affiche dans la section Receive messages.

  6. Dans la liste des messages, localisez le message cible, puis cliquez sur Details dans la colonne Actions pour afficher son contenu dans la boîte de dialogue Message details.