Configura un argomento e una sottoscrizione Pub/Sub

In App Design Center, puoi configurare un argomento e una sottoscrizione Pub/Sub per fornire messaggistica asincrona e scalabile che disaccoppia i producer di servizi che producono messaggi dai servizi che li elaborano. Puoi personalizzare le connessioni dei componenti e i parametri di configurazione per l'argomento e la sottoscrizione in base al modulo Terraform terraform-google-pubsub.

Connessioni dei componenti

La tabella seguente include i componenti che puoi connettere a un argomento o a una sottoscrizione Pub/Sub e i relativi aggiornamenti alla tua applicazione e al codice Terraform generato.

Componente collegato

Aggiornamenti delle applicazioni

Informazioni introduttive

Template di istanza Compute Engine

  • Le istanze di Compute Engine possono pubblicare e ricevere messaggi dall'argomento Pub/Sub.
  • L'ID argomento Pub/Sub viene aggiunto ai metadati del template di istanza Compute Engine.
Template di istanza

Service account

  • Il account di servizio può gestire gli argomenti Pub/Sub ed eseguire il pull dei messaggi dalle sottoscrizioni.
  • Il ruolo roles/pubsub.editor viene aggiunto al account di servizio.
  • Il nome e l'indirizzo email del account di servizio vengono aggiunti alla sottoscrizione pull Pub/Sub.
Controllo dell'accesso con IAM

BigQuery

  • La sottoscrizione Pub/Sub può scrivere messaggi nel set di dati BigQuery.
  • Le informazioni sul set di dati BigQuery vengono aggiunte ai campi della sottoscrizione BigQuery.
Sottoscrizioni BigQuery

Cloud Run

  • Il servizio Cloud Run può ricevere messaggi o pubblicare nell'argomento Pub/Sub.
  • L'ID argomento Pub/Sub viene aggiunto alle variabili di ambiente di Cloud Run.
  • I ruoli roles/pubsub.publisher e roles/pubsub.subscriber vengono aggiunti al account di servizio Cloud Run.
  • Il servizio Cloud Run viene aggiunto ai campi della sottoscrizione push e pull di Pub/Sub.
Tutorial sull'utilizzo di Pub/Sub con Cloud Run

Cloud Storage

  • La sottoscrizione Pub/Sub può scrivere messaggi nel bucket Cloud Storage.
  • Le informazioni sul bucket Cloud Storage vengono aggiunte ai campi della sottoscrizione Pub/Sub.
Sottoscrizioni Cloud Storage

Parametri di configurazione obbligatori

Se il modello include un componente Pub/Sub, devi configurare i seguenti parametri prima del deployment.

Nome parametro

Descrizione e vincoli

Informazioni introduttive

ID progetto

Il progetto in cui vuoi eseguire il deployment della risorsa Pub/Sub.

Configura i componenti

Argomento

name Linee guida per assegnare un nome a un argomento, una sottoscrizione, uno schema o uno snapshot

Parametri di configurazione facoltativi

I seguenti parametri sono facoltativi. Per visualizzare i parametri avanzati, nell'area Configurazione, seleziona Mostra campi avanzati.

Funzionalità

Nome parametro

Descrizione e informazioni sui vincoli

Informazioni introduttive

Crea argomento Per impostazione predefinita, viene creato un argomento. Deseleziona la casella di controllo se non vuoi creare un argomento. Crea un argomento
Crea sottoscrizioni Per impostazione predefinita, viene creata una sottoscrizione. Deseleziona la casella di controllo se non vuoi creare una sottoscrizione. Panoramica degli abbonamenti

Etichette degli argomenti

Key (Chiave) labels Crea report sull'utilizzo con etichette
Valore labels Crea report sull'utilizzo con etichette

Sottoscrizioni push

Nome name Linee guida per assegnare un nome a un argomento, una sottoscrizione, uno schema o uno snapshot
Ack Deadline Seconds ackDeadlineSeconds Scadenza conferma
Endpoint push pushEndpoint Endpoint
X-goog-version Il formato dell'API Pub/Sub del messaggio inviato tramite push. Ad esempio, v1beta1. attributes
Email del service account OIDC serviceAccountEmail Autenticazione
Pubblico audience Autenticazione
Policy di scadenza expirationPolicy Periodo di scadenza
Argomento messaggi non recapitabili deadLetterTopic Argomento messaggi non recapitabili
Conserva i messaggi confermati retainAckedMessages Conserva messaggi confermati
Durata di conservazione dei messaggi messageRetentionDuration Durata di conservazione dei messaggi
Numero massimo di tentativi di consegna maxDeliveryAttempts Argomento messaggi non recapitabili
Backoff massimo maximumBackoff Policy di ripetizione
Backoff minimo minimumBackoff Policy di ripetizione
Filtro filter Filtro delle sottoscrizioni
Abilita l'ordinamento dei messaggi enableMessageOrdering Ordinamento messaggi

Sottoscrizioni pull

Nome name Linee guida per assegnare un nome a un argomento, una sottoscrizione, uno schema o uno snapshot
Ack Deadline Seconds ackDeadlineSeconds Scadenza conferma
Argomento messaggi non recapitabili deadLetterTopic Argomento messaggi non recapitabili
Numero massimo di tentativi di consegna maxDeliveryAttempts Argomento messaggi non recapitabili
Conserva i messaggi confermati retainAckedMessages Conserva messaggi confermati
Durata di conservazione dei messaggi messageRetentionDuration Durata di conservazione dei messaggi
Backoff massimo maximumBackoff Policy di ripetizione
Backoff minimo minimumBackoff Policy di ripetizione
Filtro filter Filtro delle sottoscrizioni
Abilita l'ordinamento dei messaggi enableMessageOrdering Ordinamento messaggi
Account di servizio
Abilita la consegna "exactly-once" enableExactlyOnceDelivery Consegna "exactly-once"

Sottoscrizioni BigQuery

Nome name Linee guida per assegnare un nome a un argomento, una sottoscrizione, uno schema o uno snapshot
Tabella table Crea sottoscrizioni BigQuery
Utilizza schema argomento useTopicSchema Utilizza la sottoscrizione per un argomento
Utilizza schema tabella useTableSchema Utilizza schema tabella
Scrivi metadati writeMetadata Scrivi metadati
Rilascia campi sconosciuti dropUnknownFields Rilascia campi sconosciuti
Ack Deadline Seconds ackDeadlineSeconds Scadenza conferma
Conserva i messaggi confermati retainAckedMessages Conserva messaggi confermati
Durata di conservazione dei messaggi messageRetentionDuration Durata di conservazione dei messaggi
Abilita l'ordinamento dei messaggi enableMessageOrdering Ordinamento messaggi
Policy di scadenza expirationPolicy Periodo di scadenza
Filtro filter Filtro delle sottoscrizioni
Argomento messaggi non recapitabili deadLetterTopic Argomento messaggi non recapitabili
Backoff massimo maximumBackoff Policy di ripetizione
Backoff minimo minimumBackoff Policy di ripetizione

Sottoscrizioni Cloud Storage

Nome name Linee guida per assegnare un nome a un argomento, una sottoscrizione, uno schema o uno snapshot
Bucket bucket Nome bucket
Prefisso nome file filenamePrefix Prefisso, suffisso e data e ora del nome file
Suffisso nome file filenameSuffix Prefisso, suffisso e data e ora del nome file
Formato data e ora del nome file filenameDatetimeFormat Prefisso, suffisso e data e ora del nome file
Durata massima maxDuration Batch di file
Max Bytes maxBytes Batch di file
Max Messages maxMessages Batch di file
Formato di output textConfig o avroConfig Formato file
Scrivi metadati writeMetadata Scrivi metadati
Utilizza schema argomento useTopicSchema Utilizza schema argomento
Ack Deadline Seconds ackDeadlineSeconds Scadenza conferma
Conserva i messaggi confermati Conserva messaggi confermati
Durata di conservazione dei messaggi messageRetentionDuration Durata di conservazione dei messaggi
Abilita l'ordinamento dei messaggi enableMessageOrdering Ordinamento messaggi
Policy di scadenza expirationPolicy Periodo di scadenza
Filtro filter Filtro delle sottoscrizioni
Argomento messaggi non recapitabili deadLetterTopic Argomento messaggi non recapitabili
Backoff massimo maximumBackoff Policy di ripetizione
Backoff minimo minimumBackoff Policy di ripetizione

Etichette di abbonamento

Key (Chiave) labels Crea report sull'utilizzo con etichette
Valore labels Crea report sull'utilizzo con etichette
Durata di conservazione dei messaggi dell'argomento topicMessageRetentionDuration Durata di conservazione dei messaggi
Nome chiave KMS argomento kmsKeyName Utilizza una chiave di crittografia gestita dal cliente (CMEK)
Concedi i ruoli di progetto BigQuery Per impostazione predefinita, i ruoli Visualizzatore metadati BigQuery e BigQuery Data Editor vengono concessi al account di servizio Pub/Sub predefinito. Se non vuoi concedere questi ruoli, deseleziona la casella di controllo. Assegna i ruoli BigQuery al service account Pub/Sub
Concedi il ruolo Creatore token Per impostazione predefinita, il ruolo Creatore token account di servizio viene concesso al service account Pub/Sub predefinito. Se non vuoi concedere questo ruolo, deseleziona la casella di controllo. Configura l'autenticazione per Pub/Sub

Schema

Nome name Informazioni importanti sugli schemi
Tipo type Tipi di schemi
Definizione definition Tipi di schemi
Codifica encoding Linee guida per associare uno schema a un argomento