Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Trabaja con Pub/Sub

Pub/Sub es un servicio de mensajería en tiempo real completamente administrado que te permite enviar y recibir mensajes entre aplicaciones independientes. En esta página, se muestra cómo administrar Pub/Sub con Cloud Tools for PowerShell. Se explica un ejemplo sencillo de cómo crear un tema y publicar mensajes en él. También se explica cómo crear una suscripción al tema y extraer mensajes de este a la suscripción.

Consulta la referencia de cmdlet para Cloud Tools for PowerShell a fin de obtener más información sobre los cmdlets de Pub/Sub. Para obtener más información sobre Pub/Sub en general, consulta la descripción general de Pub/Sub.

Crea un tema

Con la aplicación de publicador, se crean y se envían mensajes a un tema. Puedes llamar al cmdlet New‑GcpsTopic para crear una instancia en un tema en particular. Si tu configuración activa de gcloud tiene un proyecto, no tienes que usar el parámetro -Project.

# Creates topic "my-topic" in the default project.
New-GcpsTopic -Topic "my-topic"

Publica mensajes en un tema

Para publicar mensajes en un tema, puedes usar el 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"

Para publicar varios mensajes en el mismo tema con una solicitud única, puedes usar el cmdlet New‑GcpsMessage para crear un arreglo de mensajes y pasarlo 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"

Crea una suscripción a un tema

Con la aplicación de suscriptor, se crea una suscripción a un tema para recibir mensajes de este. Puedes llamar al cmdlet New‑GcpsSubscription para crear una instancia en un tema en particular. Si tu configuración activa de gcloud tiene un proyecto, no tienes que usar el parámetro -Project.

Según la configuración predeterminada, la suscripción creada es una suscripción de extracción, lo que significa que el suscriptor extraerá los mensajes del tema. Puedes crear una suscripción de envío (Pub/Sub enviará mensajes al extremo elegido del suscriptor) 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"

Extrae mensajes para la suscripción

Para extraer mensajes de la suscripción, puedes usar el cmdlet Get‑GcpsMessage. Según la configuración predeterminada, el cmdlet se bloqueará hasta que se recupere al menos un mensaje. Para evitar que se bloquee, usa el parámetro -ReturnImmediately. El cmdlet también puede enviar de forma automática una confirmación para todos los mensajes recuperados si usas el parámetro -AutoAck. De no ser así, tendrás que usar el cmdlet Send‑GcpsAck para enviar la confirmación. Los mensajes no confirmados vuelven a estar disponibles para su extracción después de que venza el plazo de confirmación del mensaje.

# 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