O gatilho do Cloud Pub/Sub permite executar a integração com base nos eventos do middleware do Pub/Sub.
Com esse gatilho, é possível executar uma integração sempre que um editor escreve uma mensagem no tópico escolhido por você. Quando esse gatilho é executado, ele também grava a mensagem publicada na variável de saída CloudPubSubMessage. Com base nos seus requisitos, é possível usar essa variável nos gatilhos ou tarefas downstream.
Antes de começar
Execute as tarefas a seguir no projeto do Google Cloud antes de configurar o gatilho do Cloud Pub/Sub.
- Atribua os papéis do IAM a seguir à conta de serviço padrão (
service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com
): - Confirme se você tem um tópico do Pub/Sub. Para criar um novo tópico do Pub/Sub:
- Acesse a página de tópicos do Pub/Sub no Console do Cloud
- Clique em Criar um tópico
- No campo ID do tópico, forneça um nome de tópico exclusivo.
- Clique em Salvar.
Para mais informações sobre como gerenciar o acesso usando papéis do IAM, consulte Controle de acesso.
Para informações sobre como conceder papéis a principais, consulte Como conceder, alterar e revogar acesso.
Adicionar um gatilho do Cloud Pub/Sub
Para adicionar um gatilho do Cloud Pub/Sub a uma integração nova ou existente, siga as etapas abaixo:- Na IU da Apigee, selecione sua organização da Apigee.
- Clique em Desenvolver > Integrações.
- Selecione uma integração existente ou clique em Criar integração.
Caso você esteja criando uma nova integração, siga estas etapas:
- Digite um nome e uma descrição na caixa de diálogo Criar integração.
- Selecione uma Região para a integração na lista de regiões compatíveis.
- Clique em Criar.
Isso abre a integração na página do designer de integração.
- Na barra de navegação do designer de integração, clique em +Adicionar uma tarefa/gatilho > Gatilhos para ver a lista de gatilhos disponíveis.
- Clique e posicione o elemento Gatilho do Cloud Pub/Sub no designer.
Configurar um gatilho do Cloud Pub/Sub
Clique no elemento de gatilho do Cloud Pub/Sub no editor de integração para exibir o painel de configuração do gatilho e faça o seguinte:
Especifique o tópico que o gatilho ouvirá no campo Tópico do Pub/Sub no seguinte formato:
projects/PROJECT_ID/topics/TOPIC_ID
Para exibir todos os tópicos disponíveis no seu projeto do Google Cloud, confira a coluna Nome do tópico em Tópicos.
Substitua:
PROJECT_ID
é o projeto do Google Cloud em que o tópico foi criado.TOPIC_ID
é o ID do tópico do Pub/Sub.
Saída do gatilho
Para cada evento, o acionador do Cloud Pub/Sub gera uma variável de saída CloudPubSubMessage
que pode ser usada nas tarefas downstream. A variável está no formato JSON e tem a estrutura PubsubMessage
.
Considerações
- O tamanho máximo de uma mensagem do Pub/Sub é de 10 MB. Para entender todas as limitações do Pub/Sub, consulte Cotas e limites do Pub/Sub.
- É possível que o Pub/Sub escreva a mesma mensagem mais de uma vez em um tópico. Para entender
esse comportamento do Pub/Sub,
consulte Entrega pelo menos uma vez.
Por isso, você precisa projetar a integração como idempotente para que ela não permita
que uma mensagem seja gravada mais de uma vez em um tópico.
O campo
message_id
no cabeçalho da mensagem identifica exclusivamente uma mensagem do Pub/Sub. - Se você cancelar a publicação de uma integração, a assinatura do Pub/Sub não será excluída para evitar a perda de mensagens. No entanto, se você excluir a versão publicada ou todas as versões de uma integração, a assinatura do Pub/Sub também será excluída.