Pub/Sub è un servizio di messaggistica in tempo reale completamente gestito che consente di inviare e ricevere messaggi tra applicazioni indipendenti. Questo mostra come gestire Pub/Sub con Cloud Tools for PowerShell. Illustra un semplice esempio di creazione di un argomento, pubblicazione di messaggi all'argomento, creando una sottoscrizione all'argomento ed eseguendo il pull dei messaggi alla sottoscrizione.
Leggi la documentazione di riferimento dei cmdlet Cloud Tools for PowerShell per saperne di più sui cmdlet Pub/Sub. Per scoprire di più su Pub/Sub in generale, leggi le Panoramica di Pub/Sub.
Creazione di un argomento
L'applicazione del publisher crea e invia messaggi a un argomento. Puoi chiamare il cmdlet New‑GcpsTopic
per creare un'istanza in un determinato argomento. Se le tue
la configurazione gcloud attiva ha un progetto, non devi usare -Project
.
# Creates topic "my-topic" in the default project. New-GcpsTopic -Topic "my-topic"
Pubblicazione di messaggi in un argomento
Per pubblicare messaggi in un argomento, puoi utilizzare il cmdlet Publish‑GcpsMessage
.
# Publishes the message with data "This is a test" to topic "my-topic". Publish-GcpsMessage -Data "This is a test" -Topic "my-topic"
Per pubblicare più messaggi nello stesso argomento con una singola richiesta, puoi
usa il cmdlet New‑GcpsMessage
per creare un array di messaggi e passalo
il cmdlet Publish‑GcpsMessage
.
# Creates two messages. $messageOne = New-GcpsMessage -Data "This is a test" $messageTwo = New-GcpsMessage -Data "Data" -Attributes @{"key" = "value"} # Publish the messages to topic "my-topic". Publish-GcpsMessage -Message @($messageOne, $messageTwo) -Topic "my-topic"
Creazione di una sottoscrizione per un argomento
L'applicazione del sottoscrittore crea una sottoscrizione a un argomento per ricevere i messaggi. Puoi chiamare il cmdlet New‑GcpsSubscription
per creare un'istanza in un determinato argomento. Se la configurazione gcloud
attiva ha un progetto, non è necessario utilizzare il parametro -Project
.
Per impostazione predefinita, la sottoscrizione creata è una sottoscrizione pull, il che significa che il sottoscrittore eseguirà il pull dei messaggi dall'argomento. Puoi creare una sottoscrizione push (Pub/Sub invierà i messaggi all'endpoint scelto dall'abbonato) con -PushEndpoint
.
# Creates pull subscription "pull-subscription" to topic "my-topic" in the default project. New-GcpsSubscription -Topic "my-topic" -Subscription "pull-subscription" # Creates push subscription "push-subscription" to topic "my-topic". New-GcpsSubscription -Topic "my-topic" ` -Subscription "push-subscription" ` -PushEndpoint "http://www.example.com"
Eseguire il pull dei messaggi per la sottoscrizione
Per estrarre i messaggi per l'abbonamento, puoi utilizzare il cmdlet Get‑GcpsMessage
.
Per impostazione predefinita, il cmdlet si blocca finché non viene recuperato almeno un messaggio.
Per evitare il blocco, utilizza il parametro -ReturnImmediately
.
Il cmdlet può anche inviare automaticamente un messaggio di conferma per ogni messaggio recuperato se utilizzi il parametro -AutoAck
. In caso contrario, dovrai utilizzare
Send‑GcpsAck
cmdlet per inviare l'accettazione. Messaggi non confermati
diventano nuovamente disponibili per l'estrazione dopo la scadenza di conferma
scade.
# Pulls messages from subscription "my-subscription" and sends out acknowledgement automatically. Get-GcpsMessage -Subscription "my-subscription" -AutoAck # Pulls messages from subscription "my-subscription" and sends out acknowledgement with Send-GcpsAck. $messages = Get-GcpsMessage -Subscription "my-subscription" Send-GcpsAck -InputObject $messages