Sem gatilhos, você precisa invocar uma função do Function Compute manualmente — pelo console, SDK ou API — sempre que ela precisar responder a um evento externo. Os gatilhos automatizam esse processo: quando um evento de um serviço conectado corresponde às regras definidas, a fonte do evento invoca a função automaticamente. Assim, você cria fluxos de trabalho orientados a eventos sem escrever lógica de polling ou agendamento.
Como os gatilhos funcionam
O Function Compute utiliza um modelo orientado a eventos: uma fonte de evento atua como produtora e uma função atua como processadora. Cada gatilho contém um conjunto de regras de correspondência. Quando um evento recebido atende a essas regras, a fonte do evento invoca a função associada.
Você ainda pode invocar uma função diretamente pelo console do Function Compute, pelo SDK ou pela API. Os gatilhos têm uma finalidade distinta: permitir a invocação automática e sem intervenção manual, acionada por eventos em outros serviços da Alibaba Cloud ou sistemas externos.
Um único gatilho invoca apenas uma função. Para distribuir um gatilho para várias funções, use o Function Compute com o CloudFlow. Configure a função acionada para iniciar um fluxo de trabalho do CloudFlow e invoque funções adicionais dentro desse fluxo. Consulte a demonstração para ver um exemplo funcional.
Casos de uso
|
Cenário |
Gatilho recomendado |
Comportamento |
|
Processar imagens no momento do upload para o OSS |
Gatilho do OSS |
Detecta novos uploads e invoca a função para baixar, processar e armazenar o resultado |
|
Analisar logs à medida que chegam ao Simple Log Service |
Gatilho do Simple Log Service |
Identifica atualizações de log e invoca a função para consumir dados incrementais |
|
Executar uma tarefa em um cronograma fixo (por exemplo, coletar dados a cada hora) |
Gatilho de tempo |
Aciona a função automaticamente no intervalo especificado |
Métodos de invocação
Cada gatilho invoca funções de forma síncrona ou assíncrona.
Invocação síncrona: O resultado retorna após a função concluir o processamento do evento. A invocação de uma função pelo console do Function Compute é um exemplo de invocação síncrona.
Invocação assíncrona: O resultado retorna depois que o evento é gravado na fila interna do Function Compute. Em seguida, o Function Compute processa o evento de maneira confiável em segundo plano.
Para mais detalhes, consulte Invocações síncronas.
Tipos de gatilhos
Os gatilhos são agrupados conforme a forma de integração com as fontes de eventos.
Gatilhos de integração bidirecional
Configure estes gatilhos tanto no Function Compute quanto no serviço de origem do evento.
| Gatilho | Método de invocação | Referências | |
|---|---|---|---|
| Gatilhos HTTP | Síncrona e assíncrona | Visão geral | |
| Gatilhos de tempo | Assíncrona | Gatilhos de tempo | |
| Gatilhos do OSS | Assíncrona | Visão geral dos gatilhos de eventos do OSS | |
| Gatilhos do Simple Log Service | Síncrona | Gatilhos do Simple Log Service | |
| Gatilhos do Alibaba Cloud CDN | Síncrona | Visão geral dos gatilhos de eventos do Alibaba Cloud CDN | |
| Gatilhos do Tablestore | Síncrona | Gatilhos do Tablestore | |
| Gatilhos de tópico do Simple Message Queue (antigo MNS) | Assíncrona | Gatilhos de tópico do Simple Message Queue (antigo MNS) | |
|
Gatilhos baseados no EventBridge |
Gatilhos de fila do Simple Message Queue (antigo MNS) (baseados no EventBridge) | Síncrona e assíncrona | Visão geral dos gatilhos de fila do Simple Message Queue (antigo MNS) |
| Gatilhos do ApsaraMQ for RocketMQ / Apache RocketMQ autogerenciado | Síncrona e assíncrona | Gatilhos do ApsaraMQ for RocketMQ | |
| Gatilhos do ApsaraMQ for RabbitMQ | Síncrona e assíncrona | Gatilhos do ApsaraMQ for RabbitMQ | |
| Gatilhos do ApsaraMQ for Kafka | Síncrona e assíncrona | Gatilhos do ApsaraMQ for Kafka | |
| Gatilhos do ApsaraMQ for MQTT | Síncrona e assíncrona | Gatilhos do ApsaraMQ for MQTT | |
| Gatilhos do Data Transmission Service (DTS) | Síncrona e assíncrona | Gatilhos do DTS | |
Gatilhos de integração unidirecional
Configure estes gatilhos apenas no Function Compute, e não na fonte do evento.
|
Gatilho |
Método de invocação |
Referências |
|
Gatilhos do API Gateway |
Síncrona |
Gatilhos do API Gateway e Gatilhos do API Gateway nativo da nuvem |
|
Gatilhos do ALB |
Síncrona e assíncrona |
Gatilhos de eventos para serviços da Alibaba Cloud
Configure estes gatilhos no Function Compute e no EventBridge. Não é necessária nenhuma configuração no próprio serviço de origem do evento.
|
Gatilho |
Método de invocação |
Referências |
|
Gatilhos de eventos para serviços da Alibaba Cloud |
Síncrona e assíncrona |
Configurar gatilhos de eventos para serviços da Alibaba Cloud |