Es posible que los suscriptores no puedan controlar los mensajes por varios motivos. Por ejemplo, podría haber problemas transitorios para recuperar los datos necesarios para procesar un mensaje. O bien, un mensaje puede estar en un formato que el suscriptor no espera.
En esta página, se explica cómo manejar esas fallas de procesamiento mediante el uso de una política de reintento de suscripción o el reenvío de mensajes no entregados a un tema de mensajes no entregados (también conocido como cola de mensajes no entregados).
Ten en cuenta que estas funciones no son compatibles con Dataflow. Consulta la sección Funciones de Pub/Sub no compatibles de la documentación de Dataflow para obtener más información.
Política de reintentos de suscripción
Si Pub/Sub intenta entregar un mensaje, pero el suscriptor no puede confirmarlo, Pub/Sub intenta volver a enviar el mensaje automáticamente. Este intento de reenvío se conoce como política de reintentos de suscripción. Esta no es una función que puedas activar o desactivar. Sin embargo, puedes elegir el tipo de política de reintento que deseas usar.
Cuando creas y configuras tu suscripción por primera vez, puedes elegir usar una de las siguientes políticas de reintentos: reenvío inmediato o retirada exponencial. De forma predeterminada, las suscripciones usan la reimpresión inmediata.
Reenvío inmediato
De forma predeterminada, Pub/Sub intenta reenviar el mensaje de inmediato (y, posiblemente, al mismo cliente suscriptor). Sin embargo, si las condiciones que impidieron la confirmación de recepción de los mensajes no cambiaron, la entrega inmediata puede causar problemas. En este caso, es posible que Pub/Sub vuelva a enviar varios mensajes que no se pueden confirmar.
Para abordar los problemas de reenvío inmediato, Pub/Sub te permite configurar una política de retirada exponencial.
Retirada exponencial
La retirada exponencial te permite agregar retrasos cada vez más largos entre los reintentos. Después de la primera falla de la entrega, Pub/Sub espera un tiempo de retirada mínimo antes de reintentarlo. Por cada falla consecutiva del mensaje, se agrega más tiempo a la demora, hasta llegar a un tiempo máximo de demora (entre 0 y 600 segundos).
Los intervalos de demora máximo y mínimo no son fijos y deben configurarse en función de los factores locales de tu aplicación.
Ten en cuenta las siguientes consideraciones sobre la retirada exponencial:
- La retirada exponencial se activa en las siguientes acciones:
- Cuando se recibe una confirmación negativa.
- Cuando vence el plazo de confirmación de recepción de un mensaje.
- La disminución exponencial solo se aplica por mensaje, en lugar de a todos los mensajes de una suscripción (global).
- Mientras se usa la retirada exponencial, Pub/Sub sigue entregando otros mensajes, incluso si los mensajes anteriores recibieron confirmaciones negativas (a menos que uses la entrega de mensajes ordenados).
Usa la política de reintentos para retrasar la entrega y el procesamiento de un subconjunto de mensajes para adaptarse a una incapacidad transitoria de procesar algunos mensajes en la entrega. La función se aplica según el mejor esfuerzo, y cada mensaje se evalúa para la política de reintentos por separado.
No recomendamos usar esta función para introducir demoras intencionales en la entrega de mensajes. Si confirmas de forma negativa (nack) una gran cantidad de mensajes en una suscripción configurada con una política de reintento, es posible que algunos de esos mensajes se entreguen con menos tiempo de espera o sin él. Pub/Sub también podría ralentizar la entrega de todos los mensajes si rechazas una gran cantidad de ellos.
Si necesitas programar publicaciones, considera usar Cloud Tasks.
Configura la retirada exponencial
Console
Cuando creas una suscripción nueva, puedes configurar una política de reintentos de retirada exponencial mediante los siguientes pasos:
En la consola de Google Cloud, ve a la página Suscripciones de Pub/Sub.
Haz clic en Crear suscripción.
En el campo ID de suscripción, ingresa un nombre.
Para obtener información sobre cómo asignar un nombre a una suscripción, consulta los Lineamientos para asignar un nombre a un tema o una suscripción.
Elige o crea un tema desde el menú desplegable.
La suscripción recibe mensajes del tema.
Selecciona un Tipo de entrega.
En Política de reintentos, selecciona Reintentar después de la retirada exponencial.
Ingresa una retirada mínima y una retirada máxima entre 0 y 600 segundos.
Los valores predeterminados son 10 segundos para la retirada mínima y 600 segundos para la retirada máxima.
Haga clic en Crear.
gcloud
Para crear una suscripción nueva con una política de reintentos de retirada exponencial, ejecuta el comando gcloud pubsub create
con las marcas que se muestran a continuación:
gcloud pubsub subscriptions create SUBSCRIPTION_ID \ --topic=TOPIC_ID \ --min-retry-delay=MIN_RETRY_DELAY \ --max-retry-delay=MAX_RETRY_DELAY
Tema de mensajes no entregados
Si el servicio de Pub/Sub intenta entregar un mensaje, pero el suscriptor no puede confirmarlo, Pub/Sub puede reenviar el mensaje que no se puede entregar a un tema de mensajes no entregados.
Cómo funcionan los temas de mensajes no entregados con Pub/Sub
Un tema de mensajes no entregados es una propiedad de una suscripción, no es una propiedad de un tema. Esto significa que debes configurar un tema de mensajes no entregados cuando creas una suscripción, no cuando creas un tema.
Si creas un tema de mensajes no entregados, puedes establecer las siguientes propiedades de suscripción:
Cantidad máxima de intentos de entrega: Es un valor numérico que indica la cantidad de intentos de entrega que realiza Pub/Sub para un mensaje específico. Si el cliente suscriptor no puede confirmar el mensaje dentro de la cantidad configurada de intentos de entrega, el mensaje se reenvía a un tema de mensajes no entregados.
- Valor predeterminado = 5
- Valor máximo = 100
- Valor mínimo = 5
Proyecto con el tema de mensajes no entregados: Si el tema de mensajes no entregados está en un proyecto diferente al de la suscripción, debes especificar el proyecto con el tema de mensajes no entregados. Establece el tema de mensajes no entregados en un tema diferente al del tema al que se adjuntó la suscripción.
Cómo se calculan los intentos de entrega máximos
Pub/Sub solo cuenta los intentos de entrega cuando un tema de mensajes no entregados se configura correctamente y cuando incluye los permisos de IAM correctos.
La cantidad máxima de intentos de entrega es aproximada, ya que Pub/Sub reenvía mensajes que no se pueden entregar con base en el mejor esfuerzo.
La cantidad registrada de intentos de entrega de un mensaje también se puede restablecer a cero, especialmente para una suscripción de extracción con suscriptores inactivos. Como resultado, es posible que los mensajes se entreguen al cliente suscriptor más veces que la cantidad máxima de intentos de entrega configurada.
Configura un tema de mensajes no entregados
Para configurar un tema de mensajes no entregados, el tema fuente primero debe tener una suscripción. Puedes especificar un tema de mensajes no entregados cuando creas la suscripción, o bien puedes actualizar una suscripción existente para que tenga un tema de mensajes no entregados.
El siguiente es el flujo de trabajo para habilitar el buzón de mensajes no entregados en una suscripción.
Crea el tema de mensajes no entregados. Este tema es independiente del tema de origen.
Establece el tema de mensajes no entregados en la suscripción del tema de origen.
Para evitar perder mensajes del tema de mensajes no entregados, adjunta al menos otra suscripción al tema de mensajes no entregados. La suscripción secundaria recibe mensajes del tema de mensajes no entregados.
Otorga los roles de publicador y suscriptor a la cuenta de servicio de Pub/Sub. Para obtener más información, consulta Otorga permisos de reenvío.
Establece un tema de mensajes no entregados en una suscripción nueva
Puedes crear una suscripción y establecer un tema de mensajes no entregados con la consola de Google Cloud, Google Cloud CLI, las bibliotecas cliente o la API de Pub/Sub.
Console
Para crear una suscripción y establecer un tema de mensajes no entregados, completa los siguientes pasos:
En la consola de Google Cloud, ve a la página Suscripciones.
Haz clic en Crear suscripción.
Ingresa el ID de suscripción.
Elige o crea un tema desde el menú desplegable.
La suscripción recibe mensajes del tema.
En la sección Mensajes no entregados, selecciona Habilitar mensajes no entregados.
Elige o crea un tema de mensajes no entregados en el menú desplegable.
Si el tema de mensajes no entregados elegido no tiene una suscripción, el sistema te solicitará que crees una.
En el campo Cantidad máxima de intentos de entrega, especifica un número entero entre 5 y 100.
Haz clic en Crear.
En el panel de detalles, se muestra una lista de los posibles elementos de acción. Si alguno de los elementos muestra un ícono de error
, haz clic en el elemento de acción para resolver el problema.
gcloud
Para crear una suscripción y establecer un tema de mensajes no entregados, usa el comando gcloud pubsub subscriptions create
:
gcloud pubsub subscriptions create subscription-id \ --topic=topic-id \ --dead-letter-topic=dead-letter-topic-name \ [--max-delivery-attempts=max-delivery-attempts] \ [--dead-letter-topic-project=dead-letter-topic-project]
C++
Antes de probar esta muestra, sigue las instrucciones de configuración de C++ en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C++.
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C#.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Go.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Java.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para PHP.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Python.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Ruby.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby que encontrarás en la guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Ruby de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Establece un tema de mensajes no entregados para una suscripción existente
Puedes actualizar una suscripción y establecer un tema de mensajes no entregados con la consola de Google Cloud, Google Cloud CLI, las bibliotecas cliente o la API de Pub/Sub.
Console
Para actualizar una suscripción y establecer un tema de mensajes no entregados, completa los siguientes pasos.
En la consola de Google Cloud, ve a la página Suscripciones.
Junto a la suscripción que quieras actualizar, haz clic en Más acciones more_vert.
En el menú contextual, selecciona Editar.
En la sección Mensajes no entregados, selecciona Habilitar mensajes no entregados.
Elige o crea un tema desde el menú desplegable.
Si el tema elegido no tiene una suscripción, el sistema te pedirá que crees una.
En el campo Cantidad máxima de intentos de entrega, especifica un número entero entre 5 y 100.
Haz clic en Actualizar.
En el panel de detalles, se muestra una lista de los posibles elementos de acción. Si alguno de los elementos muestra un ícono de error
, haz clic en el elemento de acción para resolver el problema.
gcloud
Para actualizar una suscripción y establecer un tema de mensajes no entregados, usa el comando gcloud pubsub subscriptions update
:
gcloud pubsub subscriptions update subscription-id \ --dead-letter-topic=dead-letter-topic-name \ [--max-delivery-attempts=max-delivery-attempts] \ [--dead-letter-topic-project=dead-letter-topic-project]
C++
Antes de probar esta muestra, sigue las instrucciones de configuración de C++ en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C++.
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C#.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Go.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Java.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para PHP.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Python.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Ruby.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby que encontrarás en la guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Ruby de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Otorga roles de IAM para usar temas de buzón de destino
Para reenviar mensajes no entregados a un tema de mensajes no entregados, Pub/Sub debe tener permiso para hacer lo siguiente:
- Publicar mensajes en el tema
- Confirma la recepción de los mensajes, lo que los quita de la suscripción.
Pub/Sub crea y mantiene una cuenta de servicio para cada proyecto: service-project-number@gcp-sa-pubsub.iam.gserviceaccount.com
.
Puedes otorgar permisos de reenvío si asignas roles de publicador y suscriptor a esta cuenta de servicio.
Console
Para otorgarle a Pub/Sub permiso para publicar mensajes en un tema de mensajes no entregados, completa los siguientes pasos:
En la consola de Google Cloud, ve a la página Suscripciones.
Haz clic en el nombre de la suscripción que tiene el tema de mensajes no entregados.
Haz clic en la pestaña Letras muertas.
Para asignar un rol de publicador, haz clic en Otorgar rol de publicador. Si el rol de publicador se asigna correctamente, verás una marca azul
.Para asignar un rol de suscriptor, haz clic en Otorgar rol de suscriptor. Si el rol de publicador se asigna correctamente, verás una marca azul
.
gcloud
A fin de otorgarle a Pub/Sub permiso para publicar mensajes en el tema de mensajes no entregados, ejecuta el siguiente comando:
PUBSUB_SERVICE_ACCOUNT="service-project-number@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud pubsub topics add-iam-policy-binding dead-letter-topic-name \ --member="serviceAccount:$PUBSUB_SERVICE_ACCOUNT"\ --role="roles/pubsub.publisher"
Para otorgarle a Pub/Sub permiso para confirmar los mensajes no entregados reenviados, ejecuta el siguiente comando:
PUBSUB_SERVICE_ACCOUNT="service-project-number@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud pubsub subscriptions add-iam-policy-binding subscription-id \ --member="serviceAccount:$PUBSUB_SERVICE_ACCOUNT"\ --role="roles/pubsub.subscriber"
Cómo hacer un seguimiento de los intentos de entrega
Después de habilitar un tema de mensajes no entregados para una suscripción, cada mensaje de esa suscripción tiene un campo que especifica la cantidad de intentos de entrega:
Los mensajes recibidos de una suscripción de extracción incluyen el campo
delivery_attempt
.Los mensajes recibidos de una suscripción de envío incluyen el campo
deliveryAttempt
.
En los siguientes ejemplos, se muestra cómo obtener la cantidad de intentos de entrega:
C++
Antes de probar esta muestra, sigue las instrucciones de configuración de C++ en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C++.
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# que encontrarás en la guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de C# de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go que encontrarás en la guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Go de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java que encontrarás en la guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Java de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js que encontrarás en la guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Node.js de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP que encontrarás en la guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de PHP de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python que encontrarás en la guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Python de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby que encontrarás en la guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Ruby de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Cuando Pub/Sub reenvía un mensaje que no se puede entregar a un tema de mensajes no entregados, agrega los siguientes atributos al mensaje:
CloudPubSubDeadLetterSourceDeliveryCount
: Es la cantidad de intentos de entrega a la suscripción de origen.CloudPubSubDeadLetterSourceSubscription
: Es el nombre de la suscripción de origen.CloudPubSubDeadLetterSourceSubscriptionProject
: Es el nombre del proyecto que contiene la suscripción de origen.CloudPubSubDeadLetterSourceTopicPublishTime
: Es la marca de tiempo en la que se publicó el mensaje originalmente.CloudPubSubDeadLetterSourceDeliveryErrorMessage
: El motivo por el que no se pudo entregar el mensaje al destino original. El atributo solo existe para las suscripciones de exportación.
Supervisa los mensajes reenviados
Después de reenviar un mensaje que no se puede entregar, el servicio de Pub/Sub quita el mensaje de la suscripción. Puedes supervisar los mensajes reenviados con Cloud Monitoring.
Si adjuntas una suscripción al tema de mensajes no entregados, los mensajes usan la política de vencimiento de la suscripción adjunta en lugar del período de vencimiento de la suscripción con la propiedad del tema de mensajes no entregados.
La métrica subscription/dead_letter_message_count
registra la cantidad de mensajes que no se pueden entregar que Pub/Sub reenvía desde una suscripción.
Para obtener más información, consulta Supervisa los mensajes que no se pueden entregar.
Cómo quitar un tema de mensajes no entregados
Para detener el reenvío de mensajes que no se pueden entregar, quita el tema de mensajes no entregados de la suscripción.
Puedes quitar un tema de mensajes no entregados de una suscripción con la consola de Google Cloud, Google Cloud CLI o la API de Pub/Sub.
Console
Para quitar un tema de mensajes no entregados de una suscripción, completa los siguientes pasos:
En la consola de Google Cloud, ve a la página Suscripciones.
En la lista de suscripciones, haz clic en more_vert junto a la suscripción que quieres actualizar.
En el menú contextual, selecciona Editar.
En la sección Mensajes no entregados, desactiva Habilitar mensajes no entregados.
Haz clic en Actualizar.
gcloud
Para quitar un tema de mensajes no entregados de una suscripción, usa el comando gcloud pubsub subscriptions update
y la marca --clear-dead-letter-policy
:
gcloud pubsub subscriptions update subscription-id \ --clear-dead-letter-policy
C++
Antes de probar esta muestra, sigue las instrucciones de configuración de C++ en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C++.
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C#.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Go.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Java.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para PHP.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Python.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Ruby.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby que encontrarás en la guía de inicio rápido de Pub/Sub con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Ruby de Pub/Sub.
Para autenticarte en Pub/Sub, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Precios
Cuando el servicio de Pub/Sub reenvía mensajes que no se pueden entregar, se aplican las siguientes tarifas:
- Publica las tarifas facturadas en la cuenta de facturación asociada con el proyecto que contiene el tema de los mensajes no entregados.
- Tarifas de suscripción por mensajes salientes que se facturan a la cuenta de facturación asociada con el proyecto que contiene la suscripción con la propiedad del tema de mensajes no entregados.
Si estableces la propiedad del tema de mensajes no entregados de una suscripción, pero la política de ubicación de almacenamiento de mensajes del tema de los mensajes no entregados no permite la región que contiene la suscripción, también se aplican las tarifas de publicación para los mensajes salientes.
Las tarifas de publicación de los mensajes salientes se facturan al proyecto que contiene el tema de mensajes no entregados. Para obtener más información, consulta Precios.
¿Qué sigue?
- Obtén los mensajes reenviados que no se pueden entregar.
- Supervisa aplicaciones de Pub/Sub.
- Aprende conceptos de entrega de mensajes.