Ce document explique comment mettre à jour une transformation de message unique (SMT) pour un sujet Pub/Sub. Les modifications apportées aux SMT prennent effet en quelques minutes. Pour les SMT de sujet, les modifications s'appliquent aux nouveaux messages publiés après la mise à jour de la SMT.
Pour mettre à jour les SMT de sujet, vous pouvez utiliser la console Google Cloud , la Google Cloud CLI, la bibliothèque cliente ou l'API Pub/Sub.
Rôles et autorisations nécessaires
Pour obtenir l'autorisation nécessaire pour mettre à jour les SMT d'un sujet, demandez à votre administrateur de vous accorder le rôle IAM Éditeur Pub/Sub (roles/pubsub.editor) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'autorisation pubsub.topics.update, qui est requise pour mettre à jour les SMT de sujet.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Vous pouvez configurer le contrôle des accès au niveau du projet et de chaque ressource.
Mettre à jour les SMT de thème
Pour mettre à jour les SMT de thèmes :
Console
Dans la console Google Cloud , accédez à la page Sujets de Pub/Sub.
-
Cliquez sur le thème pour lequel vous souhaitez modifier les SMT.
Sur la page d'informations de la thématique, cliquez sur Modifier.
L'onglet Transformations liste toutes les SMT associées au sujet.
-
Sur la page "Modifier le sujet", vous pouvez effectuer les tâches suivantes :
-
Ajoutez un nouveau SMT. Cliquez sur Ajouter une transformation.
-
Modifiez un SMT existant. Développez une transformation de message unique pour la modifier.
-
Réorganisez les SMT. Utilisez les flèches vers le haut et vers le bas.
-
Supprimez un SMT. Cliquez sur le bouton de suppression.
-
-
Cliquez sur Mettre à jour.
gcloud
-
Dans la console Google Cloud , activez Cloud Shell.
En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement de shell dans lequel la Google Cloud CLI est déjà installée, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
-
Exécutez la commande
gcloud pubsub topics update:gcloud pubsub topics update TOPIC_ID \ --message-transforms-file=TRANSFORMS_FILE
Remplacez les éléments suivants :
-
TOPIC_ID : ID ou nom de la thématique que vous souhaitez modifier.
-
TRANSFORMS_FILE : chemin d'accès au fichier YAML ou JSON contenant les SMT mis à jour.
Voici un exemple de fichier de transformations YAML :
- javascriptUdf: code: > function redactSSN(message, metadata) { const data = JSON.parse(message.data); delete data['ssn']; message.data = JSON.stringify(data); return message; } functionName: redactSSN - javascriptUdf: code: > function filterHighAmount(message, metadata) { const data = JSON.parse(message.data); if (data['amount'] > 100 ) { return null; } return message; } functionName: filterHighAmount
Pour effacer tous les SMT du sujet, utilisez la commande suivante :
gcloud pubsub topics update TOPIC_ID --clear-message-transforms
Remplacez TOPIC_ID par l'ID ou le nom du thème que vous souhaitez modifier.
-