Configurer Pub/Sub dans Application Design Center

Pub/Sub est un service de messagerie asynchrone et évolutif qui dissocie les services de production de messages des services qui traitent ces messages. Pour en savoir plus, consultez Qu'est-ce que Pub/Sub ?.

Ce document décrit les connexions et les paramètres que vous pouvez configurer lorsque vous utilisez le Centre de conception d'applications pour créer un sujet et un abonnement Pub/Sub. Les paramètres de configuration sont basés sur le module Terraform terraform-google-pubsub.

Connexions des composants

Le tableau suivant inclut les composants que vous pouvez connecter à un sujet ou un abonnement Pub/Sub, ainsi que les mises à jour qui en résultent pour votre application et son code Terraform généré.

Composant connecté

Mises à jour des applications

Informations générales

Modèle d'instance Compute Engine

  • Les instances Compute Engine peuvent publier des messages dans le sujet Pub/Sub et en recevoir.
  • L'ID du sujet Pub/Sub est ajouté aux métadonnées du modèle d'instance Compute Engine.
Modèles d'instance

Compte de service

  • Le compte de service peut gérer les sujets Pub/Sub et extraire les messages des abonnements.
  • Le rôle roles/pubsub.editor est ajouté au compte de service.
  • Le nom et l'adresse e-mail du compte de service sont ajoutés à l'abonnement pull Pub/Sub.
Contrôle des accès avec IAM

BigQuery

  • L'abonnement Pub/Sub peut écrire des messages dans l'ensemble de données BigQuery.
  • Les informations sur l'ensemble de données BigQuery sont ajoutées aux champs d'abonnement BigQuery.
Abonnements BigQuery

Cloud Run

  • Le service Cloud Run peut recevoir des messages ou publier des messages dans le sujet Pub/Sub.
  • L'ID du sujet Pub/Sub est ajouté aux variables d'environnement Cloud Run.
  • Les rôles roles/pubsub.publisher et roles/pubsub.subscriber sont ajoutés au compte de service Cloud Run.
  • Le service Cloud Run est ajouté aux champs d'abonnement push et pull Pub/Sub.
Tutoriel : Utiliser Pub/Sub avec Cloud Run

Cloud Storage

  • L'abonnement Pub/Sub peut écrire des messages dans le bucket Cloud Storage.
  • Les informations sur le bucket Cloud Storage sont ajoutées aux champs d'abonnement Pub/Sub.
Abonnements Cloud Storage

Paramètres de configuration requis

Si votre modèle inclut un composant Pub/Sub, vous devez configurer les paramètres suivants avant de le déployer.

Nom du paramètre

Description et contraintes

Informations générales

ID du projet

Projet dans lequel vous souhaitez déployer la ressource Pub/Sub.

Configurer les composants

Sujet

name Consignes de dénomination d'un sujet, d'un abonnement, d'un schéma ou d'un instantané

Paramètres de configuration facultatifs

Les paramètres suivants sont facultatifs. Pour afficher les paramètres avancés, dans la zone Configuration, sélectionnez Afficher les champs avancés.

Fonctionnalité

Nom du paramètre

Description et informations sur les contraintes

Informations générales

Créer un sujet Par défaut, un sujet est créé. Décochez la case si vous ne souhaitez pas créer de sujet. Créer un sujet
Créer des abonnements Par défaut, un abonnement est créé. Décochez la case si vous ne souhaitez pas créer d'abonnement. Présentation des abonnements

Libellés de thèmes

Clé labels Signaler l'utilisation avec des étiquettes
Valeur labels Signaler l'utilisation avec des étiquettes

Abonnements push

Nom name Consignes de dénomination d'un sujet, d'un abonnement, d'un schéma ou d'un instantané
Délai de confirmation en secondes ackDeadlineSeconds Délai de confirmation
Point de terminaison Push pushEndpoint Points de terminaison
X-goog-version Format de l'API Pub/Sub du message envoyé. Par exemple, v1beta1. attributs
Adresse e-mail du compte de service OIDC serviceAccountEmail Authentification
Audience audience Authentification
Règles d'expiration expirationPolicy Période d'expiration
File d'attente de lettres mortes deadLetterTopic Sujet des lettres mortes
Conserver les messages confirmés retainAckedMessages Conserver les messages confirmés
Durée de conservation des messages messageRetentionDuration Durée de conservation des messages
Nombre maximal de tentatives de livraison maxDeliveryAttempts Sujet des lettres mortes
Intervalle maximal entre les tentatives maximumBackoff Règles de nouvelle tentative
Intervalle minimal entre les tentatives minimumBackoff Règles de nouvelle tentative
Filter filter Filtre d'abonnement
Activer le tri des messages enableMessageOrdering Tri des messages

Abonnements pull

Nom name Consignes de dénomination d'un sujet, d'un abonnement, d'un schéma ou d'un instantané
Délai de confirmation en secondes ackDeadlineSeconds Délai de confirmation
File d'attente de lettres mortes deadLetterTopic Sujet des lettres mortes
Nombre maximal de tentatives de livraison maxDeliveryAttempts Sujet des lettres mortes
Conserver les messages confirmés retainAckedMessages Conserver les messages confirmés
Durée de conservation des messages messageRetentionDuration Durée de conservation des messages
Intervalle maximal entre les tentatives maximumBackoff Règles de nouvelle tentative
Intervalle minimal entre les tentatives minimumBackoff Règles de nouvelle tentative
Filter filter Filtre d'abonnement
Activer le tri des messages enableMessageOrdering Tri des messages
Compte de service
Activer la distribution de type "exactement une fois" enableExactlyOnceDelivery Diffusion de type "exactement une fois"

Abonnements BigQuery

Nom name Consignes de dénomination d'un sujet, d'un abonnement, d'un schéma ou d'un instantané
Table table Créer des abonnements BigQuery
Utiliser un schéma de sujet useTopicSchema Utiliser l'abonnement à un thème
Utiliser un schéma de table useTableSchema Utiliser un schéma de table
Écrire des métadonnées writeMetadata Écrire des métadonnées
Supprimer les champs inconnus dropUnknownFields Supprimer les champs inconnus
Délai de confirmation en secondes ackDeadlineSeconds Délai de confirmation
Conserver les messages confirmés retainAckedMessages Conserver les messages confirmés
Durée de conservation des messages messageRetentionDuration Durée de conservation des messages
Activer le tri des messages enableMessageOrdering Tri des messages
Règles d'expiration expirationPolicy Période d'expiration
Filter filter Filtre d'abonnement
File d'attente de lettres mortes deadLetterTopic Sujet des lettres mortes
Intervalle maximal entre les tentatives maximumBackoff Règles de nouvelle tentative
Intervalle minimal entre les tentatives minimumBackoff Règles de nouvelle tentative

Abonnements Cloud Storage

Nom name Consignes de dénomination d'un sujet, d'un abonnement, d'un schéma ou d'un instantané
Bucket bucket Nom du bucket
Préfixe du nom de fichier filenamePrefix Préfixe, suffixe et date/heure du nom de fichier
Suffixe du nom de fichier filenameSuffix Préfixe, suffixe et date/heure du nom de fichier
Format de la date et de l'heure dans le nom de fichier filenameDatetimeFormat Préfixe, suffixe et date/heure du nom de fichier
Durée max. maxDuration Traitement des fichiers par lots
Nombre maximal d'octets maxBytes Traitement des fichiers par lots
Nombre maximal de messages maxMessages Traitement des fichiers par lots
Format de sortie textConfig ou avroConfig Format de fichier
Écrire des métadonnées writeMetadata Écrire des métadonnées
Utiliser un schéma de sujet useTopicSchema Utiliser un schéma avec sujet
Délai de confirmation en secondes ackDeadlineSeconds Délai de confirmation
Conserver les messages confirmés Conserver les messages confirmés
Durée de conservation des messages messageRetentionDuration Durée de conservation des messages
Activer le tri des messages enableMessageOrdering Tri des messages
Règles d'expiration expirationPolicy Période d'expiration
Filter filter Filtre d'abonnement
File d'attente de lettres mortes deadLetterTopic Sujet des lettres mortes
Intervalle maximal entre les tentatives maximumBackoff Règles de nouvelle tentative
Intervalle minimal entre les tentatives minimumBackoff Règles de nouvelle tentative

Libellés d'abonnement

Clé labels Signaler l'utilisation avec des étiquettes
Valeur labels Signaler l'utilisation avec des étiquettes
Durée de conservation des messages par sujet topicMessageRetentionDuration Durée de conservation des messages
Nom de la clé KMS du thème kmsKeyName Utiliser une clé de chiffrement gérée par le client (CMEK)
Accorder des rôles BigQuery au niveau du projet Par défaut, les rôles Lecteur de métadonnées BigQuery et Éditeur de données BigQuery sont attribués au compte de service Pub/Sub par défaut. Si vous ne souhaitez pas accorder ces rôles, décochez la case. Attribuer des rôles BigQuery au compte de service Pub/Sub
Accorder le rôle Créateur de jetons Par défaut, le rôle Créateur de jetons du compte de service est attribué au compte de service Pub/Sub par défaut. Si vous ne souhaitez pas accorder ce rôle, décochez la case. Configurer l'authentification pour Pub/Sub

Schéma

Nom name Informations importantes sur les schémas
Type type Types de schémas
Définition Définition Types de schémas
Encodage encoding Consignes pour associer un schéma à un sujet