web-dev-qa-db-fra.com

Meilleures pratiques pour vider ou effacer un sujet de pubsub Google Cloud

Pour les rubriques pubsub avec un nombre de messages compris entre ~ 100 Ko, quelle est la meilleure pratique pour vider/supprimer/effacer/supprimer tous les messages à l'aide de gcloud-Java SDK?

Solutions possibles:

  • Suppression et recréation des abonnés puis des éditeurs

  • Tirage simultané élevé + ack (facile d'atteindre le quota de cette façon)

  • Autre chose

J'espère que ce processus peut être rapide (pas plus de ~ 60 secondes, par exemple), robuste et utilise des méthodes SDK prises en charge avec un minimum de code.

28
DrMarshall

Mise à jour avec description de la fonction d'instantané et de recherche: On peut utiliser rechercher sur un abonnement Pub/Sub (actuellement en alpha) pour Acquérez les anciens messages en cherchant un horodatage correspondant à maintenant. Le meilleur moyen est via outil de ligne de commande gcloud . La commande pour accuser réception des messages publiés jusqu'à un horodatage particulier serait:

gcloud alpha pubsub subscriptions seek <subscription path> --time=yyyy-mm-ddThh:mm:ss

Réponse précédente avant l'ajout d'instantanés et recherche: Actuellement, Google Cloud Pub/Sub n'a aucun moyen d'effacer les messages plus anciens, bien que ce soit quelque chose que nous recherchons ajouter. Supprimer et recréer l'abonnement serait le moyen le plus efficace de l'effacer, à la fois en termes de temps et de coût. Vous n'auriez rien à faire avec vos éditeurs; tous les messages publiés à partir du point après la recréation seront envoyés aux abonnés sur l'abonnement recréé.

40
Kamal Aboul-Hosn