Mettre à jour les SMT d'abonnement

Ce document explique comment mettre à jour une transformation de message unique (SMT) pour un abonnement Pub/Sub. Les modifications apportées aux SMT prennent effet en quelques minutes. Pour les SMT d'abonnement, les modifications prennent effet pour les nouveaux messages envoyés à l'abonnement après la mise à jour de la fonction définie par l'utilisateur.

Pour mettre à jour les SMT d'un abonnement, vous pouvez utiliser la console Cloud de Confiance , Google Cloud CLI, la bibliothèque cliente ou l'API Pub/Sub.

Rôles et autorisations nécessaires

Pour obtenir les autorisations nécessaires pour mettre à jour les SMT d'abonnement, demandez à votre administrateur de vous accorder le rôle IAM Éditeur Pub/Sub (roles/pubsub.editor) sur votre 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 les autorisations requises pour mettre à jour les SMT d'abonnement. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour mettre à jour les SMT d'un abonnement :

  • Accordez l'autorisation de modifier un abonnement pour l'abonnement : projects.subscriptions.patch
  • Accorder à la vue une autorisation d'abonnement sur le projet. Cette autorisation n'est requise que si vous utilisez la console Cloud de Confiance  : pubsub.subscriptions.view

Vous pouvez également obtenir ces autorisations 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 au niveau de chaque ressource.

Mettre à jour les SMT d'abonnement

Pour mettre à jour les SMT d'abonnement :

Console

  1. Dans la console Cloud de Confiance , accédez à la page Abonnements Pub/Sub.

    Accéder à "Abonnements"

  2. Cliquez sur l'abonnement pour lequel vous souhaitez modifier les SMT.

  3. Sur la page d'informations sur l'abonnement, cliquez sur Modifier.

    L'onglet Transformations liste toutes les SMT associées à l'abonnement.

  4. Sur la page "Modifier l'abonnement", vous pouvez effectuer les tâches suivantes :

    1. Ajoutez un SMT. Cliquez sur Ajouter une transformation.

    2. Modifiez un SMT existant. Développez une transformation de message unique pour la modifier.

    3. Réorganisez les SMT. Utilisez les flèches vers le haut et vers le bas.

    4. Supprimez un SMT. Cliquez sur le bouton de suppression.

  5. Cliquez sur Mettre à jour.

gcloud

  1. Dans la console Cloud de Confiance , activez Cloud Shell.

    Activer Cloud Shell

    En bas de la console Cloud de Confiance , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement de shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Exécutez la commande gcloud pubsub subscriptions update :

    gcloud pubsub subscriptions update SUBSCRIPTION_ID \
        --message-transforms-file=TRANSFORMS_FILE

    Remplacez les éléments suivants :

    • SUBSCRIPTION_ID : ID ou nom de l'abonnement que vous souhaitez modifier.

    • TRANSFORMS_FILE : chemin d'accès au fichier YAML ou JSON contenant les SMT mises à 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 de l'abonnement, utilisez la commande suivante :

    gcloud pubsub subscriptions update SUBSCRIPTION_ID --clear-message-transforms

    Remplacez SUBSCRIPTION_ID par l'ID ou le nom de l'abonnement que vous souhaitez modifier.

Étapes suivantes