Eventos e gatilhos

Nesta página, descrevemos o conceito de eventos no contexto do Google Cloud Functions. Ela também aborda como criar e associar gatilhos a funções de maneira que eles sejam executados quando um evento é acionado.

Eventos

Eventos são momentos ocorridos no ambiente de nuvem em que convém tomar uma atitude. Esses eventos podem ser alterações feitas em um banco de dados, arquivos adicionados a um sistema de armazenamento ou a criação de uma nova instância de máquina virtual. Atualmente, o Cloud Functions oferece suporte a eventos dos seguintes provedores:

Para exemplos de como associar gatilhos a funções para que eles sejam executados quando um evento for disparado, consulte os tutoriais.

Dados do evento

Quando um evento aciona a execução de uma das funções do Cloud, os dados associados ao evento são passados por meio dos parâmetros da função. O tipo de evento determina os parâmetros passados para a função. Os eventos de solicitação HTTP acionam funções HTTP, e os outros tipos de evento acionam funções em segundo plano.

Node.js

No ambiente de execução Node.js, as funções usam os seguintes parâmetros:

  • Funções HTTP

    Sua função recebe os parâmetros (request, response) do ExpressJS. Use o parâmetro response para enviar uma resposta.

  • Funções em segundo plano

    Sua função recebe os parâmetros (data, context, callback). Consulte Funções em segundo plano para mais detalhes sobre esses parâmetros.

Python

No ambiente de execução do Python, as funções usam os seguintes parâmetros:

  • Funções HTTP

    Sua função recebe um único parâmetro, (request), que é um objeto de Request Flask. Retorna qualquer valor de sua função que possa ser manipulado pelo método make_response do Flask. O resultado será a resposta HTTP.

  • Funções em segundo plano

    Sua função recebe os parâmetros (data, context). Consulte Funções em segundo plano para mais detalhes sobre esses parâmetros.

Go

No ambiente de execução Go, as funções usam os seguintes parâmetros:

Java

No ambiente de execução do Java, as funções recebem os seguintes parâmetros:

  • Funções HTTP

    Sua função recebe os parâmetros (HttpRequest, HttpResponse). Use o parâmetro HttpResponse para enviar uma resposta.

  • Funções em segundo plano

    Sua função recebe os parâmetros (event, context). Consulte Funções em segundo plano para mais detalhes sobre esses parâmetros.

Gatilhos

A criação de uma resposta para um evento é feita com um gatilho. Ele é uma declaração de que você tem interesse em um determinado evento ou grupo de eventos. A vinculação de uma função a um gatilho permite capturar e tomar uma atitude em relação aos eventos.

Abaixo está uma tabela dos tipos de gatilho compatíveis e as sinalizações usados para especificá-los durante a implantação da linha de comando:

Gatilho Sinalização de linha de comando
HTTP --trigger-http
Google Cloud Pub/Sub --trigger-topic TOPIC_NAME
Outras origens (por exemplo, Firebase) --trigger-event EVENT_TYPE --trigger-resource RESOURCE

Para obter mais informações sobre a sinalização de linha de comando, consulte a gcloud functions deployreferência.

A vinculação de gatilhos a funções ocorre no momento da implantação por meio da ferramenta de linha de comando gcloud, da IU ou da API do Cloud Functions. As funções e os gatilhos são vinculados entre si em uma escala de muitos para um. Em outras palavras, não é possível vincular a mesma função a mais de um único gatilho por vez. Porém, é possível ter o mesmo gatilho que causa a execução de várias funções simplesmente implantando duas funções diferentes com o mesmo gatilho.