O Simple Message Queue (SMQ, anteriormente MNS) integra-se ao Function Compute (FC) para criar arquiteturas orientadas a eventos. Filas e tópicos do SMQ atuam como fontes de eventos que acionam funções automaticamente ao receber mensagens. O FC também pode encaminhar resultados da execução de funções para filas ou tópicos do SMQ para processamento subsequente.
Como funciona
A integração entre SMQ e FC ocorre em duas direções:
|
Direção |
Descrição |
|
SMQ aciona o FC |
Ao chegar uma mensagem em uma fila ou tópico, o SMQ avalia as regras de gatilho e invoca a função associada. |
|
FC envia dados para o SMQ |
O SMQ envia dados gerados durante o processamento da função ou resultados de execução para suas próprias filas ou tópicos por meio de destinos de invocação assíncrona. |
Acionar funções a partir de mensagens do SMQ
Filas e tópicos do SMQ funcionam como fontes de eventos para o FC. Quando uma mensagem recebida corresponde às regras de gatilho definidas, o SMQ invoca automaticamente a função associada.
O SMQ oferece dois tipos de gatilho:
|
Tipo de gatilho |
Fonte de evento |
Instruções de configure |
|
Gatilho de fila |
Mensagens enviadas para uma fila |
|
|
Gatilho de tópico |
Mensagens publicadas em um tópico |
Encaminhar resultados de funções para o SMQ
O SMQ envia dados gerados durante o processamento da função ou resultados de execução para suas próprias filas ou tópicos usando destinos de invocação assíncrona.
Para configurar esse fluxo:
Acesse o Function Compute console.
Configure a invocação assíncrona da função e defina o SMQ como serviço de destino.
Para obter instruções detalhadas, consulte Configurar o serviço de destino para invocações assíncronas.
Código de exemplo
Os exemplos a seguir em Node.js demonstram como enviar mensagens de uma função para o SMQ: