Consulte os conetores suportados para a solução Application Integration.
Acionador do Cloud Pub/Sub
O acionador do Cloud Pub/Sub permite-lhe executar a integração com base nos eventos no middleware Pub/Sub.
Com este acionador, pode executar uma integração sempre que um publicador escreve uma mensagem
no tópico escolhido. O tópico pode existir no mesmo Google Cloud projeto que a integração ou
num Google Cloud projeto diferente. Quando este acionador é executado, também escreve a mensagem publicada na
CloudPubSubMessage variável de saída. Com base nos seus requisitos,
pode usar esta variável nos acionadores ou nas tarefas a jusante.
Para saber como criar uma integração de exemplo com a integração de aplicações e o acionador do Cloud Pub/Sub, consulte o artigo Ouvir o tópico do Cloud Pub/Sub e enviar um email.
Com este acionador, pode executar uma integração sempre que um publicador escreve uma mensagem no tópico escolhido. Quando este acionador é executado, também escreve a mensagem publicada na variável de saída CloudPubSubMessage. Com base nos seus requisitos, pode usar esta variável nos acionadores ou nas tarefas a jusante.
Antes de começar
Certifique-se de que realiza as seguintes tarefas no seu Google Cloud projeto antes de configurar o acionador do Cloud Pub/Sub.
- Atribua a função Project IAM Admin (
roles/resourcemanager.projectIamAdmin) ao utilizador que está a criar este acionador. - Ative a API Pub/Sub para o Google Cloud projeto que tem a sua integração.
- Administrador do Gestor de acesso sensível ao contexto (
roles/accesscontextmanager.policyAdmin) - Editor do Gestor de acesso sensível ao contexto (
roles/accesscontextmanager.policyEditor) - Leitor do Gestor de acesso sensível ao contexto (
roles/accesscontextmanager.policyReader) - Confirme que tem um tópico Pub/Sub. Para criar um novo tópico do Pub/Sub:
- Aceda à página de tópicos do Pub/Sub na Cloud Console.
- Clique em Criar um tópico.
- No campo ID do tópico, indique um nome de tópico exclusivo.
- Clique em Guardar.
Se a API Pub/Sub estiver protegida por um perímetro de serviço, certifique-se de que define as seguintes funções do IAM para gerir estes perímetros de serviço:
Para obter informações sobre a concessão de funções a responsáveis, consulte o artigo Conceder, alterar e revogar o acesso.
Adicione um acionador do Cloud Pub/Sub
Para adicionar um acionador do Cloud Pub/Sub a uma integração nova ou existente, siga os passos abaixo:- Na Google Cloud consola, aceda à página Application Integration.
- No menu de navegação, clique em Integrações
A página Lista de integrações é apresentada com todas as integrações disponíveis no projeto do Google Cloud.
- Selecione uma integração existente ou clique em Criar integração para criar uma nova.
Se estiver a criar uma nova integração:
- Introduza um nome e uma descrição no painel Criar integração.
- Selecione uma região para a integração.
- Selecione uma conta de serviço para a integração. Pode alterar ou atualizar os detalhes da conta de serviço de uma integração em qualquer altura no painel Resumo da integração na barra de ferramentas de integração.
- Clique em Criar.
A integração recém-criada é aberta no editor de integração.
- Na barra de navegação do editor de integração, clique em Acionadores para ver a lista de acionadores disponíveis.
- Clique e coloque o elemento Acionador do Cloud Pub/Sub no criador.
Configure um acionador do Cloud Pub/Sub
Clique no elemento Acionador do Cloud Pub/Sub no editor de integração para ver o painel de configuração do acionador e, em seguida, execute as seguintes tarefas:
- Especifique o tópico que o acionador deve ouvir no campo Tópico do Pub/Sub no seguinte formato:
projects/PROJECT_ID/topics/TOPIC_ID
Para ver todos os tópicos disponíveis no seu Google Cloud projeto, consulte a coluna Nome do tópico em Tópicos. Também pode selecionar um tópico de um Google Cloud projeto diferente.
Substitua o seguinte:PROJECT_ID: o Google Cloud projeto onde o seu tópico é criado.TOPIC_ID: o ID do seu tópico do Pub/Sub. O tópico pode estar no mesmo Google Cloud projeto que o da sua integração ou pode estar presente num Google Cloud projeto diferente.
- Selecione a conta de serviço que quer usar para invocar a integração. Também pode escolher uma variável de configuração que tenha criado na integração. O valor da variável de configuração tem de ser um endereço de email de uma conta de serviço com o seguinte formato:
SERVICE_ACCOUNT_NAME@project-id.iam.gserviceaccount.com. Por exemplo,application-integration-invoke@project123.iam.gserviceaccount.com.Para ver informações sobre como criar uma variável de configuração, consulte o artigo Criar uma variável e, sobre como criar uma conta de serviço, consulte o artigo Criar uma conta de serviço.
Se escolher uma variável de configuração, tem de conceder as funções necessárias à conta de serviço à qual a variável de configuração se refere. Para mais informações sobre como conceder funções, consulte o artigo Funções de IAM necessárias.
Se não existirem contas de serviço, clique em Criar novo na lista Conta de serviço para criar uma.
Os seus acionadores do Pub/Sub existentes, que não têm nenhuma conta de serviço associada, vão continuar a funcionar como antes. No entanto, se quiser modificar algum dos acionadores do Pub/Sub existentes, tem de configurar uma conta de serviço para continuar a usar esses acionadores.
Por predefinição, a opção de período de expiração para subscrições está definida como never expire. Se quiser definir a expiração para outro valor, na Google Cloud consola, aceda à página de subscrição do Pub/Sub e edite a subscrição.
Funções de IAM necessárias para contas de serviço
Quando clica em Conceder ao selecionar uma conta de serviço, atribui automaticamente as seguintes funções às várias contas de serviço.
| Conta de serviço | Função de IAM concedida |
|---|---|
Conta de serviço predefinida da integração de aplicações: service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com |
Se o projeto do tópico do Pub/Sub for diferente do projeto da integração, a conta de serviço predefinida precisa da função de editor do Pub/Sub no projeto do tópico. Google Cloud Google CloudGoogle Cloud |
| Conta de serviço que seleciona para este acionador |
Application Integration Invoker (roles/integrations.integrationInvoker)
|
Saída do acionador
Para cada evento, o acionador do Cloud Pub/Sub gera uma variável de saída CloudPubSubMessage que pode usar nas tarefas posteriores. A variável está no formato JSON e tem a estrutura
PubsubMessage.
Crie uma subscrição com filtro para a sua integração
Se quiser definir um filtro para a subscrição do Pub/Sub para processar eventos específicos na sua integração, siga estes passos:
- Publique a integração com o acionador do Cloud Pub/Sub configurado. Este passo cria a subscrição no projeto de integração.
- Na Google Cloud consola, aceda à página Subscrições.
- Abra a subscrição e copie todos os detalhes, incluindo o nome da subscrição.
- Elimine a subscrição existente.
- Crie uma nova subscrição com todos os detalhes da subscrição eliminada, incluindo o nome da subscrição, que copiou no passo 3, e adicione um filtro na nova subscrição.
A subscrição recém-criada aciona a integração com mensagens filtradas.
Exclusões do SLA
O acionador do Cloud Pub/Sub depende do produto Pub/Sub. Como esta dependência é externa à Application Integration, os termos e as condições do Application Integration
Service Level Agreement (SLA) só são aplicáveis quando o acionador do
Cloud Pub/Sub inicia com êxito a execução de uma integração active.
Use acionadores do Pub/Sub com os VPC Service Controls
Quando configura um acionador do Pub/Sub na integração de aplicações e tenta publicar a integração, a criação da subscrição do Pub/Sub necessária falha se a API Pub/Sub estiver protegida por um perímetro de serviço nos VPC Service Controls.
Os perímetros de serviço aplicam limites de segurança em torno dos seus Google Cloud recursos, e estas políticas podem impedir que a integração de aplicações crie a subscrição do Pub/Sub necessária durante a publicação da integração.
Para configurar e publicar com êxito um acionador do Pub/Sub nestes cenários, execute os seguintes passos:
- Remova temporariamente a API Pub/Sub do perímetro de serviço:
- Na Google Cloud consola, aceda à página VPC Service Controls.
- Selecione o Google Cloud projeto que contém o tópico do Pub/Sub a usar na integração.
- (Opcional) Se não estiver configurada nenhuma política de acesso para o projeto selecionado, é apresentada a mensagem Não foram encontrados perímetros de serviço da VPC no âmbito atual. Neste caso, clique em Mudar para o âmbito da organização para navegar para o nível da organização.
- Na página Controlos de serviço da VPC, na tabela, clique no nome do perímetro de serviço que quer modificar.
- Na página Detalhes do perímetro de serviço, clique em Editar.
- No painel Serviços restritos, filtre e selecione o serviço
pubsub.googleapis.com. - Clique em Remover selecionados.
- Clique em Guardar. Na caixa de diálogo de confirmação, clique em Confirmar para remover a API Pub/Sub do perímetro de serviço do VPC Service Controls.
- Adicione e configure o acionador do Pub/Sub na integração.
- Publique a integração.
- Adicione novamente a API Pub/Sub ao perímetro de serviço:
- Aceda à página VPC Service Controls.
- Na página VPC Service Controls, na tabela, clique no mesmo perímetro de serviço que modificou anteriormente.
- Na página Detalhes do perímetro de serviço, clique em Editar.
- No painel Serviços restritos, clique em Adicionar serviços.
- Filtre e selecione o serviço
pubsub.googleapis.com. - Clique em Adicionar serviços selecionados.
- Clique em Guardar. Na caixa de diálogo de confirmação, clique em Confirmar para adicionar novamente a API Pub/Sub ao perímetro de serviço do VPC Service Controls.
Preços
O acionador do Cloud Pub/Sub e o acionador do Salesforce não requerem a criação de um conetor. No entanto, se usar a tarefa Connectors para estabelecer ligação ao Pub/Sub ou ao Salesforce, a utilização do conetor é faturada. Para ver informações sobre preços, consulte a secção Preços da integração de aplicações.
Considerações
- O tamanho máximo de uma mensagem do Pub/Sub é de 10 MB. Para compreender todas as limitações do Pub/Sub, consulte as quotas e os limites do Pub/Sub.
- É possível que o Pub/Sub escreva a mesma mensagem mais do que uma vez num tópico. Para compreender
este comportamento do Pub/Sub,
consulte o artigo Entrega pelo menos uma vez.
Por conseguinte, tem de conceber a sua integração para ser idempotente, de modo a não permitir que uma mensagem seja escrita mais do que uma vez num tópico.
O campo
message_idno cabeçalho da mensagem identifica exclusivamente uma mensagem Pub/Sub. - Se anular a publicação de uma integração, a subscrição do Pub/Sub não é eliminada para evitar a perda de mensagens. No entanto, se eliminar a versão publicada ou todas as versões de integração de uma integração, a subscrição do Pub/Sub também é eliminada.
Quotas e limites
Para informações sobre quotas e limites, consulte o artigo Quotas e limites.
O que se segue?
- Saiba mais sobre todas as tarefas e acionadores.
- Saiba como testar e publicar uma integração.
- Saiba mais acerca do processamento de erros.
- Saiba mais sobre os registos de execução da integração.