Visão geral
Neste tutorial, você vai criar uma integração com um gatilho de API que recebe solicitações de API para recuperar informações de clientes. Dependendo do local da solicitação da API, a integração recupera os detalhes do cliente de um banco de dados MySQL ou Oracle.
Objetivos
Neste tutorial, mostramos como concluir as seguintes tarefas na integração:
- Adicione um gatilho de API.
- Adicionar e configurar tarefas do Connectors para conexões MySQL e Oracle.
- Adicione e configure tarefas de mapeamento de dados para extrair e mapear o payload da API.
Custos
Neste tutorial, você usará os seguintes componentes faturáveis do Google Cloud:
As instruções deste tutorial foram criadas para manter o uso de seus recursos dentro dos limites do nível Sempre gratuito do Google Cloud.
Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Saiba mais em Limpeza.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: Secret Manager Viewer (
roles/secretmanager.viewer
), Secret Manager Secret Accessor (roles/secretmanager
).To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: Secret Manager Viewer (
roles/secretmanager.viewer
), Secret Manager Secret Accessor (roles/secretmanager
).To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
-
Prepare o ambiente
Configurar um banco de dados MySQL
Conecte-se ao servidor MySQL e crie um banco de dados e uma tabela para usar neste tutorial. Este tutorial usa um banco de dados que contém uma tabela chamada Customers
com as seguintes linhas:
+-------------+---------------+--------------------+------------------+ | customer_id | customer_name | customer_emailID | customer_city | +-------------+---------------+--------------------+------------------+ | 1 | Alex | test-01@test.com | New York | | 2 | Dana | test-02@test.com | Seattle | +-------------+---------------+--------------------+------------------+
Para saber como criar e usar um banco de dados MySQL, consulte a documentação do MySQL.
Configurar um banco de dados Oracle
Conecte-se ao banco de dados Oracle e crie uma tabela para usar neste tutorial. Neste tutorial, usamos um banco de dados que contém uma tabela SQL chamada Customers
com as seguintes linhas:
+-------------+---------------+--------------------+------------------+ | customer_id | customer_name | customer_emailID | customer_city | +-------------+---------------+--------------------+------------------+ | 1 | Amal | test-01@test.com | Delhi | | 2 | Hao | test-02@test.com | Beijing | +-------------+---------------+--------------------+------------------+
Para informações sobre como criar e usar um banco de dados Oracle, consulte a documentação da Oracle.
Configurar conexões
Para este tutorial, você precisa configurar as seguintes conexões nos Conectores de integração:
- Conexão do MySQL
- Configure uma conexão MySQL nos Integration Connectors para receber as entidades das tabelas
Customer
. Para saber como configurar um conector MySQL, consulte Conectores MySQL. - Conexão com o Oracle DB
- Configure uma conexão do Oracle DB nos conectores de integração para acessar as entidades das tabelas
Customer
. Para informações sobre como configurar um conector do MySQL, consulte Conectores de banco de dados do Oracle.
Criar integração
Para criar uma nova integração, execute as seguintes etapas:
- No console do Google Cloud, acesse a página Application Integration.
- No menu de navegação, clique em Integrações. A página Integrations é exibida.
- Clique em
- Nome da integração:insira
api_fulfilment
. - Descrição:insira
Demo integration created for tutorial
. - Região:selecione
us-central1
na lista de regiões com suporte. - Clique em Criar para abrir o editor de integração.
Criar integração e informe os seguintes detalhes na página Criar integração:
- Nome da integração:insira
Configurar o acionador de integração
Depois de criar sua integração, você pode adicionar e configurar um gatilho de integração que invoca a integração para um evento identificado.
Neste tutorial, um acionador de API é usado para invocar a integração em cada nova solicitação de API. Para adicionar e configurar um acionador de API na integração do api_fulfilment
, faça o seguinte:
- No editor de integração, clique em Acionadores para exibir uma lista de acionadores disponíveis.
- Clique e posicione o elemento Gatilho da API no editor de integração.
A integração de aplicativos preenche automaticamente o rótulo, o nome e o ID do acionador. O ID do acionador é um ID gerado por máquina no formato
api_trigger/TRIGGER_NAME
e é usado na solicitação da API.
Nenhuma configuração adicional é necessária para esse gatilho.
Criar variáveis de integração
As variáveis de integração são semelhantes às usadas em uma linguagem de programação. Os dados nas variáveis podem ser lidos e gravados durante a execução da integração. Para criar as variáveis necessárias para este tutorial, faça o seguinte:
- Clique em (painel "Alternar") na barra de navegação do designer para abrir o painel Variáveis.
- Clique em + Criar e crie as seguintes variáveis de integração:
Nome da variável Tipo de dado Tipo variável location
STRING
Entrada para integração customer_id
STRING
Entrada para integração customer_record
JSON
Saída da integração
Recuperar dados de clientes do banco de dados MySQL
Se a solicitação da API de entrada for do local US
, faça o seguinte para recuperar os dados do cliente do banco de dados MySQL.
Conectar-se ao banco de dados MySQL
Siga estas etapas para adicionar e configurar uma tarefa do Connectors e extrair os detalhes dos clientes da tabela Clientes do MySQL:
- No editor de integração, clique em Tarefas para mostrar uma lista das tarefas disponíveis.
- Clique e coloque o elemento Conectores no editor de integração.
- Selecione o elemento de tarefa Conectores no designer para acessar o painel de configuração da tarefa dos conectores.
- Clique em
Fetch MySQL Data
.
e renomeie o rótulo Conectores como - Clique em Configurar conector.
- Faça o seguinte na página do Editor de tarefas de conectores:
- Em Selecionar conexão, escolha a região
us-central1
. - Selecione sua conexão do Salesforce na lista de conexões disponíveis.
- Clique em Próxima.
- Em Type, escolha Entities.
- Em Definir entidades/ações, selecione Clientes na lista de entidades disponíveis e escolha Obter como a Operação.
- Clique em Concluído para concluir a configuração da conexão e feche o painel.
- Em Selecionar conexão, escolha a região
Mapear ID de cliente para o conector do MySQL
Uma tarefa de Mapeamento de dados é usada para mapear o ID do cliente para o conector MySQL. Para adicionar e configurar o mapeamento de dados na integração, faça o seguinte:
- No editor de integração, clique em Tarefas para mostrar uma lista das tarefas disponíveis.
- Clique e posicione o elemento Mapeamento de dados no editor de integração.
- Selecione o elemento Mapeamento de dados no designer para conferir o painel de configuração da tarefa.
- Clique em
Map to MySQL
.
e renomeie a tarefa Mapeamento de dados para - Clique em Abrir editor de mapeamento de dados.
O Editor de mapeamento de dados permite mapear variáveis de entrada para as variáveis de saída desejadas, usando as funções de transformação disponíveis. A saída é disponibilizada como uma variável para qualquer outra tarefa ou gatilho de integração. Para mais detalhes sobre as variáveis de mapeamento, consulte Adicionar um mapeamento.
- Mapeie a variável de integração do gatilho
customer_id
para a variável de entrada do conector gerada automaticamente (entityId(Fetch MySQL Data)
).Quando o mapeamento for concluído, feche o painel. Todas as alterações serão salvas automaticamente.
- Adicione uma conexão de borda da tarefa Mapear para o MySQL ao conector Buscar dados do MySQL.
Recuperar detalhes do cliente do MySQL
Para recuperar os detalhes do cliente do conector do MySQL, faça o seguinte:
- No editor de integração, clique em Tasks para mostrar uma lista das tarefas disponíveis.
- Clique e posicione o elemento Mapeamento de dados no editor de integração.
- Clique no elemento Mapeamento de dados no designer para conferir o painel de configuração da tarefa.
- Clique em
Get MySQL data
.
e renomeie a tarefa Mapeamento de dados para - Clique em Abrir editor de mapeamento de dados.
- Mapeie a variável de saída do MySQL (
connectorOutputPayload (Fetch MySQL Data)
) para a variável de integraçãocustomer_record
.Quando o mapeamento for concluído, feche o painel. Todas as alterações serão salvas automaticamente.
- Adicione uma conexão de borda do conector Buscar dados do MySQL à tarefa Buscar dados do MySQL.
Extrair dados do cliente do banco de dados Oracle
Se a solicitação da API de entrada for do local APAC
, faça o seguinte para recuperar dados de clientes do banco de dados Oracle.
Conecte-se ao banco de dados Oracle
Realize as etapas a seguir para adicionar e configurar uma tarefa Connectors para recuperar os detalhes dos clientes da tabela Customers do Oracle:
- No editor de integração, clique em Tarefas para mostrar uma lista das tarefas disponíveis.
- Clique e coloque o elemento Conectores no editor de integração.
- Selecione o elemento de tarefa Conectores no designer para acessar o painel de configuração da tarefa dos Conectores.
- Clique em
Fetch Oracle Data
.
e renomeie o rótulo Conectores para - Clique em Configurar conector.
- Faça o seguinte na página do Editor de tarefas de conectores:
- Em Selecionar conexão, escolha a região
us-central1
. - Selecione sua conexão do Salesforce na lista de conexões disponíveis.
- Clique em Próxima.
- Em Type, escolha Entities.
- Em Definir entidades/ações, selecione Clientes na lista de entidades disponíveis e escolha Obter como a Operação.
- Clique em Concluído para concluir a configuração da conexão e feche o painel.
- Em Selecionar conexão, escolha a região
Mapear o ID do cliente para o conector do Oracle
Para adicionar e configurar o mapeamento de dados na integração, faça o seguinte:
- No editor de integração, clique em Tarefas para mostrar uma lista das tarefas disponíveis.
- Clique e posicione o elemento Mapeamento de dados no editor de integração.
- Selecione o elemento Mapeamento de dados no designer para visualizar o painel de configuração de tarefas.
- Clique em
Map to Oracle
.
e renomeie a tarefa Mapeamento de dados para - Clique em Abrir editor de mapeamento de dados.
- Mapeie o acionador —
customer_id
—variável de integração para a variável de entrada do conector —entityId(Fetch Oracle Data)
—gerada automaticamente.Quando o mapeamento for concluído, feche o painel. Todas as alterações serão salvas automaticamente.
- Adicione uma conexão de borda da tarefa Mapear para o Oracle para o conector Buscar dados do Oracle.
Extrair detalhes do cliente do Oracle
Para extrair os detalhes do cliente do conector Oracle, faça o seguinte:
- No editor de integração, clique em Tarefas para mostrar uma lista das tarefas disponíveis.
- Clique e posicione o elemento Mapeamento de dados no editor de integração.
- Clique no elemento Mapeamento de dados no designer para conferir o painel de configuração da tarefa.
- Clique em
Get Oracle data
.
e renomeie a tarefa Mapeamento de dados para - Clique em Abrir editor de mapeamento de dados.
- Mapeie a variável de saída Oracle—
connectorOutputPayload (Fetch Oracle Data)
—para a variável de integraçãocustomer_record
.Quando o mapeamento for concluído, feche o painel. Todas as alterações serão salvas automaticamente.
- Adicione uma conexão de borda do conector Buscar dados do Oracle para a tarefa Receber dados do Oracle.
Adicionar condição de borda
Uma condição de borda permite especificar as condições que precisam ser atendidas para que o controle de uma integração seja transmitido para a tarefa conectada pela borda. Agora que você adicionou e configurou as tarefas necessárias, adicione uma condição de borda para definir o fluxo da integração.
A condição de borda a seguir controla o fluxo de integração com base na variável de integração location
:
- Adicione uma conexão de borda do acionador da API à tarefa Mapear para MySQL com a seguinte condição de borda:
$location$ = "US"
- Adicione outra conexão de borda do acionador da API à tarefa Mapear para Oracle com a seguinte condição de borda:
$location$ = "APAC"
Exemplo de fluxo de integração
A figura a seguir mostra um exemplo de layout da integração criada usando este tutorial.
Publicar integração
Para publicar a integração, clique em Publicar na barra de ferramentas do editor de integração.
Após a publicação da integração, você poderá ver e inspecionar os registros de execução da integração publicada. Para acessar os registros, clique em Acessar os registros de execução para esta integração. A página Registros de execução é exibida.
Testar a integração
Testar a integração no editor de integração
Para testar a integração no editor de integração, siga estas etapas:
- Clique em
O painel Test Integration é exibido.
Testar na barra de ferramentas do editor de integração. - Você vai precisar inserir os valores de teste para as variáveis de entrada da integração. Para este teste, faça o seguinte:
- customer_id::insira
1
. - location:insira
APAC
.
- customer_id::insira
- Clique em Testar integração.
A integração é executada e o seguinte valor do cliente é exibido:
{ "CUSTOMER_ID": 1, "CUSTOMER_NAME": "Amal" "CUSTOMER_EMAILID": "test-01@test.com " "CUSTOMER_CITY": "Delhi" }
Para mais informações sobre testes, consulte Testar e publicar integrações.
Testar usando uma chamada de API REST
Agora que a integração está publicada e em execução, você pode invocá-la usando a seguinte chamada REST POST:
URL:https://integrations.googleapis.com/v1/projects/project-name/locations/-/integrations/api_fulfilment:execute
{"trigger_id":"api_trigger/api_fulfilment_API_1"}
Exemplo: fazer uma solicitação de API com entradas personalizadas
curl -v -X POST -H "Content-Type: application/json" 'https://integrations.googleapis.com/v1/projects/connectors-ip-test/locations/us-central1/integrations/api-fulfillment-integration:execute' -H "Authorization: Bearer $(gcloud auth AUTH_PROFILE)" -d '{ "triggerId": "api_trigger/api-fulfillment-integration_API_1", "inputParameters": { "customer_id": {"string_value": 1}, "location" : {"string_value" : "US"}} }'
A API retorna a resposta de execução da integração com o seguinte JSON:
{ "CUSTOMER_ID": 2, "CUSTOMER_NAME": "Dana" "CUSTOMER_EMAILID": "test-02@test.com " "CUSTOMER_CITY": "Seattle" }
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, desative a integração e exclua as conexões criadas em "Conectores de integração".
- Para cancelar a publicação dessa integração, clique em Cancelar publicação na barra de ferramentas do editor de integração. Consulte Excluir integrações para mais informações.
- Para saber como excluir uma conexão, consulte Gerenciar conectores.