Consulte os conetores suportados para a solução Application Integration.

Invocar uma integração para um evento de captura de dados de alterações (CDC) do Salesforce

Saiba como criar uma integração de exemplo na integração de aplicações através do acionador do Salesforce. Os passos seguintes descrevem como configurar o acionador, as tarefas, os conetores e os mapeamentos de dados necessários para executar uma integração completa.

Neste início rápido, vai usar o acionador do Salesforce para invocar uma integração na Application Integration para um evento de captura de dados de alterações (CDC) do Salesforce, conforme mostrado na figura seguinte:

Diagrama de sequência de exemplo Diagrama de sequência de exemplo

Um acionador do Salesforce está subscrito no canal de oportunidades do Salesforce. As alterações aos dados da oportunidade do Salesforce invocam uma integração de aplicações que extrai o estado da oportunidade do Salesforce. Se o estado for fechado, a integração extrai os detalhes da oportunidade e escreve os dados numa instância do Cloud SQL através de um conetor. Se houver uma alteração de dados, mas o estado permanecer aberto, a integração envia uma mensagem para um tópico de publicação/subscrição através de um conetor.

Os passos seguintes descrevem como configurar o acionador, as tarefas, os perfis de autenticação, os limites, as variáveis e o mapeamento de dados necessários para executar uma integração bem-sucedida.

Antes de começar

  • Confirme que a sua conta de programador do Salesforce tem a funcionalidade Change Data Capture (CDC) ativada. Este tutorial pressupõe que tem uma conta de programador do Salesforce existente com a configuração de utilizador e o conjunto de autorizações necessários. Para obter informações sobre a configuração do utilizador e o conjunto de autorizações do Salesforce, consulte o artigo Configure um acionador do Salesforce.
  • Atribua as seguintes funções do IAM ao agente do serviço de integração de aplicações(service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com) no seu projeto do Google Cloud.
    • Editor do Pub/Sub
    • Administrador de conetores
    • Application Integration Invoker
    Para mais informações sobre a atribuição de funções de IAM, consulte Funções e autorizações de IAM.
  • Crie a tabela do Cloud SQL para armazenar os dados da CDC do Salesforce.
    1. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL e ligue-se à sua instância do MySQL. Consulte o artigo Estabeleça ligação ao Cloud SQL para MySQL a partir do Cloud Shell.

      Aceda às instâncias do Cloud SQL

    2. Crie a seguinte base de dados MySQL na sua instância do Cloud SQL:
      CREATE DATABASE SALESFORCE_TRIGGER_DEMO;
      USE SALESFORCE_TRIGGER_DEMO;
      
      CREATE TABLE OPPORTUNITIES
      (
           ID              INT NOT NULL AUTO_INCREMENT,
           NAME            VARCHAR(150) NOT NULL,
           AMOUNT          DOUBLE NOT NULL,
           DT_CLOSE        VARCHAR(150) NOT NULL,
           PRIMARY KEY     (ID)
      );
      COMMIT;
      
    3. Verifique se a tabela foi criada executando o seguinte comando.
      SELECT * FROM OPPORTUNITIES;
  • Crie uma ligação do Cloud SQL para MySQL em Conectores. Consulte o artigo Crie uma ligação do Cloud SQL para MySQL para ver informações detalhadas.
  • Crie uma ligação do Cloud Pub/Sub em Conetores. Consulte o artigo Crie uma ligação do Cloud Pub/Sub para ver informações detalhadas.

Crie uma nova integração

Para criar uma nova integração, siga estes passos:

  1. Na Google Cloud Console, aceda à página Integração de aplicações.

    Aceda à solução Application Integration

  2. Clique em Integrações no menu de navegação do lado esquerdo para abrir a página Integrações.
  3. Clique em Criar integração.
  4. Introduza um nome e uma descrição na caixa de diálogo Criar integração. Por exemplo, Demo-CDC-Opportunities.
  5. Selecione uma região para a integração.
  6. Clique em Criar para abrir o criador de integrações.

Adicione e configure o acionador do Salesforce

Para adicionar e configurar um acionador do Salesforce à integração, siga estes passos:

  1. No criador de integrações, selecione Adicionar uma tarefa/acionador > Acionadores para apresentar uma lista de acionadores disponíveis.
  2. Clique e coloque o elemento Acionador do Salesforce no criador de integrações.
  3. Clique no elemento Acionador do Salesforce na tela para abrir o painel de configuração do acionador.
  4. Configure os seguintes campos em Entrada do acionador:
    • Tipo de evento: selecione Captura de dados de alterações (CDC) na lista pendente.
    • Configuração da instância do Salesforce: clique na opção + Adicionar nova configuração da instância do Salesforce na lista pendente.

      É apresentada a caixa de diálogo Adicionar configuração da instância do Salesforce.

      • Nome da ligação da instância do Salesforce: introduza um nome de ligação para a instância do Salesforce. Por exemplo, CDC-PlatformUser.
      • Domínio do Salesforce: introduza o nome do seu domínio do Salesforce. Pode encontrar estas informações na página Conta do Salesforce > Ver perfil.
      • Perfil de autenticação: selecione um perfil de autenticação. Se não tiver um perfil de autenticação, crie um novo. Para mais informações, consulte o artigo Crie um novo perfil de autenticação.
      • Clique em Adicionar.
    • Configuração do canal do Salesforce: clique na opção + Adicionar nova configuração do canal do Salesforce na lista pendente.

      É apresentada a caixa de diálogo Adicionar canal do Salesforce.

      • Nome do objeto do Salesforce: introduza Opportunity.
      • Clique em Adicionar.
    • Operação: selecione Atualizar na lista pendente

    As alterações às propriedades são guardadas automaticamente.

Adicione e configure tarefas

Este tutorial usa as tarefas Conetores e Mapeamento de dados. Os detalhes de configuração de cada uma destas tarefas são descritos da seguinte forma.

Configure uma tarefa de conetores com uma ligação do Cloud SQL para MySQL

Execute os seguintes passos para configurar uma tarefa de Conetores para inserir registos numa tabela do Cloud SQL existente através da ligação do Cloud SQL para MySQL:

  1. Selecione +Adicionar uma tarefa/acionador > Tasks no criador de integrações para apresentar a lista de tarefas disponíveis.
  2. Clique e coloque o elemento Conetores no criador de integrações.
  3. Clique no elemento de tarefa Conetores no criador para ver o painel de configuração da tarefa Conetores.
  4. Clique em e altere o nome de Conectores para Insert row to Cloud SQL.
  5. Clique em Configurar tarefa.

    É apresentada a caixa de diálogo Configurar tarefa de conetor.

  6. Faça o seguinte na caixa de diálogo Configurar tarefa de conetor:
    1. Selecione a região de ligação.
    2. Depois de escolher uma região, é apresentada a coluna Ligação. Selecione a sua ligação do Cloud SQL para MySQL na lista de ligações disponíveis.
    3. Depois de escolher uma associação, é apresentada a coluna Tipo. Selecione Entidades e, de seguida, OPORTUNIDADES na lista de entidades disponíveis.
    4. Depois de escolher um tipo, é apresentada a coluna Operação. Selecione Criar.
    5. Clique em Concluído para concluir a configuração da associação e fechar o painel.

Configure uma tarefa do Connectors com uma ligação do Cloud Pub/Sub

Execute os passos seguintes para configurar uma tarefa Connectors para publicar uma mensagem do Pub/Sub através da ligação do Cloud Pub/Sub:

  1. Selecione +Adicionar uma tarefa/acionador > Tasks no criador de integrações para apresentar a lista de tarefas disponíveis.
  2. Clique e coloque o elemento Conetores no criador de integrações.
  3. Clique no elemento de tarefa Conetores no criador para ver o painel de configuração da tarefa Conetores.
  4. Clique em e altere o nome de Conectores para Publish to cloud pub/sub.
  5. Clique em Configurar tarefa.

    É apresentada a caixa de diálogo Configurar tarefa de conetor.

  6. Faça o seguinte na caixa de diálogo Configurar tarefa de conetor:
    1. Selecione a região de ligação.
    2. Depois de escolher uma região, é apresentada a coluna Ligação. Selecione a sua associação do Pub/Sub na lista de associações disponíveis.
    3. Depois de escolher uma associação, é apresentada a coluna Tipo. Selecione Ações e, de seguida, publishMessage na lista de ações disponíveis.
    4. Clique em Concluído para concluir a configuração da associação e fechar o painel.

Configure a tarefa de mapeamento de dados

Faça o seguinte para configurar uma tarefa de mapeamento de dados:

  1. Selecione Adicionar uma tarefa/acionador > Tarefas para apresentar uma lista de tarefas disponíveis.
  2. Clique e coloque o elemento Mapeamento de dados no criador de integrações.
  3. Clique no elemento Mapeamento de dados no criador para abrir o painel de configuração da tarefa.
  4. Clique em Abrir editor de mapeamento de dados.

    O editor de mapeamento de dados permite-lhe mapear variáveis de entrada para as variáveis de saída desejadas, através das funções de transformação disponíveis. A saída fica, então, disponível como uma variável para qualquer outra tarefa de integração ou acionador. Para mais detalhes sobre a transmissão de dados como variáveis, consulte o artigo Usar variáveis na integração de aplicações.

  5. Clique em + Adicionar nova variável e crie as seguintes variáveis de saída:
    Nome da variável de saída Tipo de dados
    OpportunityIsClosed Boolean
    OpportunityId String
    PubSubMessage String
  6. Crie o seguinte mapeamento entre a variável SalesforceTriggerCdcPayload e as variáveis Payload de entrada do conetor, conforme mostrado na tabela seguinte:
    Entrada Resultado
    SalesforceTriggerCdcPayload.GET_PROPERTY("IsClosed").TO_BOOLEAN() OpportunityIsClosed
    SalesforceTriggerCdcPayload.GET_PROPERTY("Id").TO_STRING() OpportunityId
    OpportunityId.TO_DOUBLE() connectorInputPayload.ID(Insert row to Cloud SQL)
    SalesforceTriggerCdcPayload.GET_PROPERTY("Name").TO_STRING() connectorInputPayload.NAME(Insert row to Cloud SQL)
    SalesforceTriggerCdcSnapshot.GET_PROPERTY("Amount").TO_DOUBLE() connectorInputPayload.AMOUNT(Insert row to Cloud SQL)
    SalesforceTriggerCdcSnapshot.GET_PROPERTY("CloseDate").TO_STRING() connectorInputPayload.DT_CLOSE(Insert row to Cloud SQL)
    OpportunityId.CONCAT(" is still open") PubSubMessage
    PubSubMessage connectorInputPayload.message(Publish to cloud pub/sub)
  7. Quando o mapeamento estiver concluído, feche o painel. As alterações são guardadas automaticamente.

Adicione uma ligação de aresta

Uma aresta é uma ligação entre dois elementos numa integração, e uma condição de aresta permite-lhe especificar as condições que têm de ser cumpridas para que o controlo de uma integração seja transferido para a tarefa ligada pela aresta. Para mais informações sobre arestas e condições de arestas, consulte o artigo Arestas.

  1. Adicione uma ligação de aresta do elemento Acionador do Salesforce ao elemento Mapeamento de dados.
  2. Adicione uma ligação de aresta do elemento Mapeamento de dados ao elemento Inserir linha no conetor do Cloud SQL com a seguinte condição de aresta:
      $OpportunityIsClosed$ = TRUE
  3. Adicione outra associação de limite do elemento Mapeamento de dados ao elemento Conetor do Cloud Pub/Sub com a seguinte condição de limite:
      $OpportunityIsClosed$ = FALSE
Imagem de exemplo que mostra as ligações de extremidade Imagem de exemplo que mostra as ligações de extremidade

Teste a integração

Para testar a nova integração:

  1. Clique em Testar na barra de ferramentas do criador de integrações e, de seguida, selecione o Acionador do Salesforce.

    É apresentada a caixa de diálogo Testar integração.

  2. Clique em Testar integração.

Teste a tarefa do Cloud SQL iniciando sessão na instância do Salesforce e alterando o estado de uma oportunidade para "fechado".

Teste a tarefa Pub/Sub iniciando sessão na instância do Salesforce e alterando outro detalhe sobre a oportunidade, mas deixe o estado da oportunidade "aberto".

Para mais informações sobre os testes, consulte o artigo Teste e publique integrações.

Para verificar o êxito da integração:

  • Aceda à página Cloud SQL.

    Aceder ao Cloud SQL

    Verifique a base de dados e os registos do Cloud SQL para confirmar a inserção da nova linha.
  • Aceda à página Pub/Sub.

    Aceda ao Pub/Sub

    Selecione o seu tópico Pub/Sub e, de seguida, clique em Ver mensagens para confirmar a receção da mensagem enviada pela integração.
  • Inspecione os registos da integração de aplicações para ver o estado de uma determinada integração. Para ver registos:
    1. Clique em Registos na barra de ferramentas do criador de integrações.
    2. Na página Registos de execução, pode ver detalhes sobre cada tentativa de executar uma integração. Cada entrada inclui detalhes da tentativa de execução, incluindo:
      • Nome da integração
      • ID de execução
      • Estado
      • Hora de início
      • Duração
      • Versão da integração
      • ID do acionador
    3. Clique na seta de expansão (>) junto à integração executada para ver uma lista expandida de tarefas e variáveis na integração, juntamente com o estado das tarefas e os payloads das variáveis.