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_id
no 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.