Utiliser la fonctionnalité Seek de Cloud Pub/Sub avec Cloud Dataflow

La fonctionnalité Seek de Cloud Pub/Sub permet aux utilisateurs de rouvrir et de retraiter des messages confirmés ou de confirmer la réception de plusieurs messages. Nous vous déconseillons toutefois d'accéder directement à la fonctionnalité Seek de Cloud Pub/Sub depuis un pipeline Cloud Dataflow en cours d'exécution. L'accès direct invalide la logique de filigrane de Cloud Dataflow et peut corrompre le traitement "exactement une fois". Il crée également des conflits au niveau de l'état des pipelines qui intègrent les données traitées.

Nous vous recommandons d'appliquer le workflow suivant lorsque vous utilisez la fonctionnalité Seek de Cloud Pub/Sub :

  1. Créez un instantané de l'abonnement.
  2. Drainez les messages d'abonnement de Cloud Dataflow.
  3. Redémarrez le pipeline.

Créer un instantané

Vous allez rechercher et répéter une étape de traitement à partir d'un instantané d'abonnement. Pour créer cet instantané à l'aide de l'outil de ligne de commande gcloud, exécutez les commandes suivantes :

alias pubsub='gcloud pubsub'
pubsub snapshots create my-snapshot --subscription=seek-demo-sub

Pour vérifier que l'instantané a bien été créé, exécutez la commande suivante :

pubsub snapshots list

Drainer l'abonnement

Pour drainer l'abonnement et redémarrer le pipeline, procédez comme suit :

  1. Accédez à la console Cloud Dataflow et cliquez sur votre pipeline de traitement par flux.
  2. Dans le volet Résumé, cliquez sur Arrêter la tâche.
  3. Sélectionnez Drainer pour traiter les messages en cours de transfert et attendez que la tâche se termine.
  4. Recherchez l'instantané dans votre abonnement à l'aide de l'outil de ligne de commande gcloud :
    pubsub subscriptions seek seek-demo-sub --snapshot=my-snapshot
    
  5. Redémarrez votre pipeline Cloud Dataflow.
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.