Gcp pub sub cloud function

Funciones en la nube httpトリガー

Para la primera función, vamos a crear una función Node.js autenticada que responda a peticiones HTTP. También vamos a utilizar un tiempo de espera de 10 minutos para mostrar cómo una función puede tener más tiempo para responder a las peticiones HTTP.

Para la siguiente función, vamos a crear una función Node.js que recibe un evento Cloud Audit Log cuando se crea una instancia VM de Compute Engine. En respuesta, añade una etiqueta a la VM recién creada, especificando el creador de la VM.

Observe el campo de operación con los valores first: true y last: true. El segundo registro de auditoría contiene toda la información que necesitamos para etiquetar una instancia, por lo que utilizaremos el indicador last: true para detectarlo en Cloud Functions.

El archivo index.js contiene el código de la aplicación que recibe el Audit Log envuelto en un CloudEvent. A continuación, extrae los detalles de la instancia VM de Compute Engine y establece una etiqueta en la instancia VM. No dude en estudiar index.js con más detalle por su cuenta.

Vaya a la sección Compute Engine > VM instances de Cloud Console y cree una nueva VM. Una vez completada la creación de la VM, debería ver la etiqueta de creador añadida en la VM en la Consola de Nube en la sección Información básica o usando el siguiente comando:

Contexto de los eventos de las funciones en la nube

Nota: Utilice una ventana de incógnito o de navegador privado para ejecutar este laboratorio. Esto previene cualquier conflicto entre su cuenta personal y la cuenta de Estudiante, lo cual puede causar cargos adicionales incurridos a su cuenta personal.

El caso de uso es responder a los mensajes de registro generados por las operaciones de creación de máquinas virtuales de Compute Engine. Antes de que pueda responder a los mensajes de registro, necesita saber qué aspecto tienen esos mensajes. Ahora realizará algunas operaciones simples de Compute Engine para generar algunos mensajes de registro de muestra.

El panel de vista muestra ahora todos los registros de actividad de auditoría de Compute Engine. Debería ver mensajes de registro relacionados con las operaciones «insertar» (crear) y «detener» que realizó en el paso anterior.

En el paso anterior definió un filtro que captura los mensajes de registro de auditoría que indican que se ha creado una máquina virtual. A continuación, creará una exportación de Cloud Logging que envíe los mensajes capturados al tema Cloud Pub/Sub que creó anteriormente.

En el paso anterior, creó una función de nube simple que se ejecuta en respuesta a los mensajes en un tema Pub/Sub de nube en particular. Ahora actualizarás el código de la función en la nube para que analice cierta información del mensaje Pub/Sub y luego actualice los metadatos de la máquina virtual.

Funciones en la nube pubsub schedule

En realidad, no todo el mundo necesita una solución IoT totalmente integrada. Las instituciones académicas, los laboratorios de investigación, las start-ups tecnológicas y muchas empresas comerciales quieren aprovechar la nube para aplicaciones IoT, pero puede que no estén preparados para una plataforma IoT totalmente integrada o que se resistan a la dependencia de la plataforma de un proveedor de la nube.

Del mismo modo, dependiendo de los requisitos de rendimiento y del tipo de aplicación, es posible que las organizaciones no necesiten o no quieran empezar utilizando protocolos de transporte y datos estándar del sector IoT/IIOT, como MQTT (Message Queue Telemetry Transport) o CoAP (Constrained Application Protocol), sobre UDP (User Datagram Protocol). Pueden preferir transmitir telemetría a través de HTTP utilizando TCP, o de forma segura, utilizando HTTPS (HTTP sobre TLS).

Aunque las Funciones Cloud escalarán horizontalmente de forma automática para acomodar la carga adicional creada por el volumen de telemetría que se recibe, también existen otras opciones para escalar el sistema. Por ejemplo, podríamos crear canalizaciones individuales de funciones y temas/suscripciones para cada tipo de sensor. También podríamos dividir los datos de telemetría en varias colecciones Atlas de MongoDB, en función del tipo de sensor, en lugar de en una única colección. En todos los casos, seguiremos beneficiándonos de las capacidades de escalado horizontal de Cloud Function.

Las funciones en la nube escriben en el almacenamiento en la nube

Tenga en cuenta que Cloud Functions tiene algunas limitaciones, como un límite de ejecución de nueve minutos. Cloud Functions puede ser una buena opción para solicitudes de corta duración que realizan una tarea específica en respuesta a otro evento.

Ahora es el momento de crear una tabla y configurar un esquema. El esquema define qué tipo de datos vamos a colocar en nuestra tabla.  En este caso, tendremos dos campos STRING y dos campos REPEATING para contener información sobre los metadatos de nuestra imagen.

Como se discutió anteriormente, este script escuchará las nuevas subidas a un cubo de almacenamiento en la nube y actuará sobre el elemento recién subido. En nuestro ejemplo de hoy, utilizaremos fotos de ciudades del mundo, pero podría utilizar otras fotos (como una factura escaneada) si desea analizar otros tipos de datos.

En este ejemplo, estamos respondiendo a un evento de carga de almacenamiento en la nube, por lo que pasamos dos parámetros a la función, que son una variable de archivo y una variable de contexto. La variable file contiene una referencia al objeto que fue subido, mientras que la variable context puede proporcionarnos información sobre el contexto en el que el objeto fue subido. Para este escenario, nos centraremos en la variable de archivo.