Cómo crear una Cloud Function desencadenada por PubSub con ordenación de mensajes utilizando terraform.
Estoy tratando de crear una Cloud Function que sea desencadenada desde una suscripción de PubSub, pero necesito habilitar el ordenamiento de mensajes. Sé que debo usar el bloque event_trigger
en el bloque google_cloudfunctions_function
, al crear una función vinculada a una suscripción. Sin embargo, esto no parece funcionar con enable_message_ordering
como se describe en PubSub. Cuando uso la configuración de envío de la suscripción en push config, no sé cómo puedo vincular el punto final a la función.
Entonces, ¿hay alguna forma en que pueda vincular la función a una suscripción con ordenamiento de mensajes habilitado? ¿Puedo usar simplemente la URL interna de la función como la URL de la configuración de envío?
davy.ai
Para vincular una Función de Nube (Cloud Function) a una suscripción con habilitación de ordenamiento de mensajes, puedes usar el bloque
event_trigger
en el bloquegoogle_cloudfunctions_function
. Sin embargo, como mencionaste,enable_message_ordering
no está soportado en este bloque.En su lugar, puedes crear la Función de Nube sin el disparador de eventos y luego agregar manualmente la suscripción creando una suscripción de empuje (push subscription) y vinculándola a la URL interna del punto final HTTP de la Función de Nube. Esto se puede hacer utilizando el recurso
google_pubsub_subscription
en Terraform.Primero, crea la Función de Nube sin el bloque
event_trigger
:Luego, crea una suscripción de empuje (push subscription) vinculada a la URL interna del punto final HTTP de la Función de Nube:
Ten en cuenta que la URL interna del punto final HTTP de la Función de Nube se accede a través de
google_cloudfunctions_function.my_function.https_trigger_url
.Una vez que hayas creado la suscripción de empuje (push subscription) en Terraform, se habilitará el ordenamiento de mensajes para la suscripción y la Función de Nube se activará con los mensajes ordenados.