Pub/Sub è un servizio di messaggistica in tempo reale completamente gestito che consente di inviare e ricevere messaggi tra applicazioni indipendenti. Questa pagina mostra come gestire Pub/Sub utilizzando Cloud Tools for PowerShell. Illustra un semplice esempio di creazione di un argomento, pubblicazione di messaggi nell'argomento, creazione di una sottoscrizione all'argomento e estrazione di messaggi dall'argomento alla sottoscrizione.
Leggi la documentazione di riferimento dei cmdlet Cloud Tools for PowerShell per saperne di più sui cmdlet Pub/Sub. Per saperne di più su Pub/Sub in generale, consulta la Panoramica di Pub/Sub.
Creazione di un argomento
L'applicazione publisher crea e invia messaggi a un argomento. Puoi chiamare il cmdlet New‑GcpsTopic
per creare un'istanza in un determinato argomento. Se la tua configurazione gcloud attiva ha un progetto, non devi utilizzare il parametro -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 utilizzare il cmdlet New‑GcpsMessage
per creare un array di messaggi e passarlo al 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 il cmdlet Send‑GcpsAck
per inviare il riconoscimento. I messaggi non confermati diventano di nuovo disponibili per il recupero dopo la scadenza della conferma del messaggio.
# 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