Configurez des règles de notification d'événements dans la console Object Storage Service (OSS) pour surveiller des objets spécifiques. Lorsqu'un événement spécifié se produit sur un objet, Object Storage Service (OSS) envoie une notification à une file d'attente Simple Message Queue (SMQ).
Scénario
Une entreprise crée un compartiment nommé srcbucket dans la région Chine (Hangzhou). Ce compartiment contient des objets journaux avec le préfixe log/ et des images de dossiers clients avec le préfixe destdir/.
srcbucket
└── log/
├── date1.txt
├── date2.txt
├── date3.txt
├── .......
└── destdir/
├── photo1.jpg
├── photo2.jpg
├── ......
Une filiale doit répliquer en temps réel les nouveaux objets journaux et images depuis srcbucket, y compris toute création, suppression ou modification. La destination de la réplication est un compartiment nommé destbucket, appartenant à la société mère dans la région Royaume-Uni (Londres). L'entreprise souhaite également notifier tous les employés des modifications d'objets correspondant aux préfixes log/ et destdir/ dans srcbucket et destbucket.
Pour répondre à ces exigences, configurez une règle de réplication inter-régions (CRR) pour srcbucket et définissez des notifications d'événements pour srcbucket et destbucket.
Étape 1 : Créer des files d'attente
Connectez-vous à la console SMQ.
Dans le volet de navigation de gauche, accédez à .
Dans la barre de navigation supérieure, sélectionnez la région China (Hangzhou).
Sur la page Queues, cliquez sur Create Queue. Définissez le nom de la file d'attente sur myqueue1 et conservez les paramètres par défaut pour les autres options.
Cliquez sur OK.
Répétez les étapes précédentes pour créer une file d'attente nommée myqueue2 dans la région UK (London).
Étape 2 : Configurer la réplication inter-régions
Connectez-vous à la console OSS.
Cliquez sur Buckets, puis sur srcbucket.
Dans le volet de navigation de gauche, accédez à .
Sur la page CRR, cliquez sur CRR.
-
Dans le panneau CRR, configurez les paramètres suivants et cliquez sur OK.
Parameter
Description
Destination Bucket
Sélectionnez UK (London) comme région et destbucket comme compartiment.
Objects to Replicate
Sélectionnez Objects with Specified Prefix et ajoutez les préfixes destdir/ et log/.
Replication Policy
Sélectionnez Add/Delete/Change Sync.
Replicate Historical Data
Sélectionnez Copy.
RAM Role Name
Sélectionnez le rôle RAM pour la réplication inter-régions.
Étape 3 : Configurer les notifications d'événements
La règle CRR configurée à l'étape 2 inclut la réplication des données historiques. Si le volume de données historiques est important, ce processus peut générer un grand nombre de messages. Pour éviter cela, activez les notifications d'événements uniquement après la fin de la réplication des données historiques.
Connectez-vous à la console OSS.
-
Cliquez sur Buckets. Suivez ces étapes pour configurer les notifications d'événements pour srcbucket et destbucket :
Dans le volet de navigation de gauche, accédez à .
Sur la page Event Notification, cliquez sur Create Rule.
-
Dans le panneau Create Rule, configurez les paramètres comme décrit dans le tableau suivant, puis cliquez sur OK.
Parameter
Source (srcbucket)
Destination (destbucket)
Rule Name
Définissez le nom de la règle sur notification1.
Définissez le nom de la règle sur notification2.
Event Type
Sélectionnez PutObject, CopyObject, DeleteObject et DeleteObjects.
Sélectionnez ObjectReplication:ObjectCreated, ObjectReplication:ObjectRemoved et ObjectReplication:ObjectModified.
Resource Description
Sélectionnez Prefix and Suffix. Ajoutez les préfixes log/ et destdir/.
Sélectionnez Prefix and Suffix. Ajoutez les préfixes log/ et destdir/.
Endpoint
Sélectionnez Queue. Pour le nom de la file d'attente, saisissez myqueue1, que vous avez créée à l'étape 1.
Sélectionnez Queue. Pour le nom de la file d'attente, saisissez myqueue2, que vous avez créée à l'étape 1.
Les règles de notification d'événements prennent effet environ 10 minutes après leur configuration.
Étape 4 : Créer des abonnements et recevoir des messages
Lorsqu'un événement correspondant se produit, SMQ crée automatiquement un topic. Le nom du topic suit le format mns-en-topics-[Product]-[RuleName]-[Timestamp], par exemple mns-en-topics-oss-notification1-1700098799. Vous devez créer un abonnement pour ce topic et spécifier un endpoint de réception.
-
Accédez à la page des abonnements.
Connectez-vous à la console SMQ.
Dans le volet de navigation de gauche, cliquez sur Topics.
Dans la barre de navigation supérieure, sélectionnez la région China (Hangzhou).
Recherchez le topic créé automatiquement par SMQ et cliquez sur View Subscriptions dans la colonne Actions.
-
Créez un abonnement.
Sur la page des détails du topic, cliquez sur l'onglet Subscriptions, puis sur Create Subscription.
Sur la page Create Subscription, créez un abonnement pour le compartiment source, srcbucket. Définissez Subscription Name sur mysubscription1, Push Type sur Queue et Receiver Endpoint sur myqueue1. Conservez les paramètres par défaut pour les autres options.
Cliquez sur OK.
Répétez ces étapes dans la région UK (London) pour créer un abonnement nommé mysubscription2 pour le compartiment de destination, destbucket. Sélectionnez Queue comme type de push et spécifiez myqueue2 comme endpoint de réception. Conservez les paramètres par défaut pour les autres options.
-
Recevez les notifications.
Dans le volet de navigation de gauche, cliquez sur Queues.
Dans la colonne Actions de la file d'attente cible myqueue1, accédez à .
-
Dans la section Receive Message, cliquez sur Receive Message dans le coin supérieur droit.
Vous pouvez désormais recevoir des notifications d'événements pour la création, la modification et la suppression d'objets correspondant aux préfixes
log/etdestdir/dans srcbucket. Répétez ces étapes pour la file d'attente myqueue2 afin de recevoir les notifications du compartiment de destination, destbucket. Une fois la configuration terminée, vous recevrez des notifications d'événements lorsque des objets dans destbucket seront créés, écrasés ou supprimés par la règle CRR.
Lorsque vous n'avez plus besoin de recevoir des notifications d'événements, supprimez les règles de notification d'événements correspondantes. Notez que la suppression d'une règle ne supprime pas automatiquement le topic créé pour celle-ci. Pour éviter des frais inutiles, vous devez supprimer manuellement les topics inutilisés.