Realize operações CRUD numa base de dados MySQL

Este tutorial mostra como estabelecer ligação a uma instância de base de dados MySQL a partir de uma integração de exemplo e realizar operações de listagem, obtenção, criação, atualização e eliminação numa tabela de base de dados MySQL.

Para concluir este tutorial, execute as seguintes tarefas:

Antes de começar

  • Certifique-se de que tem acesso a integrações.
  • Faça o seguinte no seu projeto do Google Cloud:

    • Conceda as seguintes funções à conta de serviço que quer usar para criar a associação:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor
    • Ative os seguintes serviços:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (API Connectors)

      Se estes serviços não tiverem sido ativados anteriormente para o seu projeto, é-lhe pedido que os ative quando criar a associação na página Criar associação.

  • Certifique-se de que tem acesso a um servidor MySQL que pode usar para criar uma base de dados.

Configure uma base de dados e uma tabela no seu servidor MySQL

Estabeleça ligação ao seu servidor MySQL e crie uma base de dados e uma tabela para usar neste tutorial.
  1. Para estabelecer ligação ao seu servidor MySQL, execute o seguinte comando a partir de um sistema que tenha um cliente MySQL instalado:
    mysql --host=MySQL server host name or IP address --port=MySQL server port number -uusername -ppassword
    Neste exemplo, substitua:
    • MySQL server host name or IP address com o nome ou o endereço IP do seu servidor MySQL.
    • MySQL server port number com o número da porta do seu servidor MySQL.
    • username com o nome de utilizador do seu servidor MySQL.
    • password com a palavra-passe do seu servidor MySQL.
  2. Para criar uma base de dados MySQL para usar neste tutorial, execute o seguinte comando a partir do seu cliente MySQL:
    CREATE DATABASE tutorialDB;
  3. Para criar uma tabela a usar neste tutorial, execute o seguinte comando a partir do cliente MySQL:
    create table employee
      (
      employee_id int auto_increment primary key,
      employee_first_name varchar(500) NOT null,
      employee_last_name varchar(500) NOT null,
      employee_emailID varchar(500)
      ); 
  4. Para adicionar linhas à tabela employee que criou, execute o seguinte comando a partir do cliente MySQL:
    INSERT INTO employee (employee_first_name,employee_last_name,employee_emailID) values ("Peter","Dilliard","test-01@test.com");
    INSERT INTO employee (employee_first_name,employee_last_name,employee_emailID) values ("Meaghan","Webb","test-02@test.com");
    
  5. Verifique se a tabela foi criada e se as linhas foram adicionadas executando o seguinte comando:
    SELECT * FROM employee;
    São apresentadas as seguintes linhas da tabela:
    +-------------+---------------------+--------------------+------------------+
    | employee_id | employee_first_name | employee_last_name | employee_emailID |
    +-------------+---------------------+--------------------+------------------+
    |           1 | Peter               | Dilliard           | test-01@test.com |
    |           2 | Meaghan             | Webb               | test-02@test.com |
    +-------------+---------------------+--------------------+------------------+
    

Crie uma ligação MySQL

Para permitir que uma integração se ligue à sua base de dados do MySQL, crie uma nova ligação à base de dados do MySQL:

  1. Clique em +Criar novo para abrir a página Criar associação.
  2. Na secção Localização, escolha a localização para a ligação.
    1. Na lista Região, selecione a região onde quer criar a associação.

      Para ver a lista de todas as regiões suportadas, consulte o artigo Localizações.

    2. Clicar em Seguinte.
  3. Na secção Detalhes da ligação, introduza os seguintes detalhes:
    1. Na lista Conetor, selecione MySQL.
    2. Na lista Versão do conetor, selecione a versão do conetor.
    3. No campo Nome da associação, introduza um nome para a instância da associação.

      Os nomes das associações têm de cumprir os seguintes critérios:

      • Use letras, números ou hífenes.
      • As letras têm de ser minúsculas.
      • Os nomes têm de começar com uma letra e terminar com uma letra ou um número.
      • Os nomes não podem exceder 49 carateres.
    4. Opcional: no campo Descrição, adicione uma descrição da instância de associação.
    5. Opcional: ative o Cloud Logging.
    6. Na lista Conta de serviço, selecione uma conta de serviço que tenha as funções necessárias.
    7. No campo Nome da base de dados, introduza o nome da base de dados do MySQL.
    8. Opcionalmente, configure as definições do nó de associação:

      • Número mínimo de nós: introduza o número mínimo de nós de ligação.
      • Número máximo de nós: introduza o número máximo de nós de ligação.

      Um nó é uma unidade (ou uma réplica) de uma ligação que processa transações. São necessários mais nós para processar mais transações para uma ligação e, inversamente, são necessários menos nós para processar menos transações. Para compreender como os nós afetam os preços dos conectores, consulte o artigo Preços dos nós de ligação. Se não introduzir valores, por predefinição, os nós mínimos são definidos como 2 (para uma melhor disponibilidade) e os nós máximos são definidos como 50.

    9. (Opcional) Na secção Definições avançadas, selecione a caixa de verificação Usar proxy para configurar um servidor proxy para a ligação e configurar os seguintes valores:
      • Esquema de autenticação de proxy: selecione o tipo de autenticação para autenticar com o servidor proxy. Os seguintes tipos de autenticação são suportados:
        • Básica: autenticação HTTP básica.
        • Resumo: autenticação HTTP de resumo.
      • Utilizador do proxy: um nome de utilizador a ser usado para autenticação com o servidor proxy.
      • Palavra-passe do proxy: o segredo do Secret Manager da palavra-passe do utilizador.
      • Tipo de SSL do proxy: o tipo de SSL a usar quando se liga ao servidor proxy. Os seguintes tipos de autenticação são suportados:
        • Automático: predefinição. Se o URL for um URL HTTPS, é usada a opção Túnel. Se o URL for um URL HTTP, é usada a opção NUNCA.
        • Sempre: a ligação está sempre ativada com SSL.
        • Nunca: a ligação não tem o SSL ativado.
        • Túnel: a ligação é feita através de um proxy de túnel. O servidor proxy abre uma ligação ao anfitrião remoto e o tráfego flui em ambas as direções através do proxy.
      • Na secção Servidor proxy, introduza os detalhes do servidor proxy.
        1. Clique em + Adicionar destino.
        2. Selecione um Tipo de destino.
          • Endereço do anfitrião: especifique o nome do anfitrião ou o endereço IP do destino.

            Se quiser estabelecer uma ligação privada ao seu sistema de back-end, faça o seguinte:

    10. Opcional: para adicionar uma etiqueta à associação, clique em + Adicionar etiqueta.
    11. Clicar em Seguinte.
    12. Na secção Destinos, introduza os detalhes do anfitrião remoto (sistema de back-end) ao qual quer estabelecer ligação.
      • Na lista Tipo de destino, selecione um endereço de anfitrião.
        • Para especificar o nome de anfitrião ou o endereço IP de destino, selecione Endereço do anfitrião e introduza o endereço no campo Anfitrião 1.
        • Para estabelecer uma ligação privada, selecione Anexo do ponto final e escolha o anexo necessário na lista Anexo do ponto final.

        Se quiser estabelecer uma ligação pública aos seus sistemas de back-end com segurança adicional, pode considerar configurar endereços IP estáticos de saída para as suas ligações e, em seguida, configurar as regras da firewall para permitir apenas os endereços IP estáticos específicos.

        Para introduzir destinos adicionais, clique em +Adicionar destino.

      • Clicar em Seguinte.
    13. Na secção Autenticação, pode facultar credenciais:
      • No campo Nome de utilizador, introduza o nome de utilizador do MySQL para a ligação.
      • No campo Palavra-passe, introduza o segredo do Secret Manager que contém a palavra-passe associada ao nome de utilizador do MySQL.
        • Se tiver criado anteriormente um segredo e este não estiver disponível na lista, selecione Introduzir segredo manualmente. Na caixa de diálogo Adicione um Secret por ID do recurso, copie e cole o ID do recurso a partir do Secret Manager.
          • Para usar a versão mais recente, copie e cole o ID do recurso do Secret principal no formato: "projects/project-number/secrets/secret-name"
          • Para selecionar uma versão específica, copie e cole o ID do recurso dessa versão específica no formato "projects/project-number/secrets/secret-name/versions/1"

          Para adicionar o segredo, clique em Adicionar segredo.

        • Se não tiver criado um segredo para utilização com o MySQL, clique em Criar novo segredo. Na caixa de diálogo Criar segredo, introduza os seguintes detalhes:
          • No campo Nome, introduza o nome do segredo.
          • No campo Valor do Secret, introduza o conteúdo do Secret ou carregue um ficheiro que contenha o Secret.
          • Clique em Criar segredo.
      • Na lista Versão secreta, selecione a versão do segredo Palavra-passe na lista de versões disponíveis no menu pendente.
      • Clicar em Seguinte.
  4. Na secção Rever, reveja os detalhes de ligação e autenticação.
  5. Clique em Criar.

Configure uma integração para usar a ligação MySQL

Para usar a ligação MySQL que criou numa integração, adicione uma tarefa Connectors numa integração juntamente com um acionador de API. O Acionador da API está ligado à tarefa Conetores através de uma ligação Edge.

Crie uma nova integração

  1. Na Google Cloud Console, aceda à página Integration Connectors.

    Aceda aos Integration Connectors

  2. No menu de navegação, clique em Integrações.

    É apresentada a página Lista de integrações.

  3. Selecione uma integração existente ou crie uma nova clicando em CRIAR INTEGRAÇÃO.

    Esta ação abre a integração na página do editor de integração.

  4. No editor de integrações, clique em +Adicionar uma tarefa/acionador > Tasks para ver a lista de tarefas disponíveis.
  5. Clique em CRIAR NOVO.
  6. Introduza um nome e (opcionalmente) uma descrição na caixa de diálogo Criar integração.
  7. Clique em Criar para abrir o editor de integração.

Adicione e configure um acionador de API

Para adicionar e configurar um acionador de API à integração, faça o seguinte:

  1. No editor de integração, selecione Adicionar uma tarefa/acionador > Acionadores para apresentar uma lista de acionadores disponíveis.
  2. Arraste o elemento Acionador da API para o editor de integração.

Adicione e configure uma tarefa de conetores

Execute os seguintes passos para configurar uma tarefa Connectors para listar todas as entidades na tabela employee:

  1. Selecione +Adicionar uma tarefa/acionador > Tarefas no editor de integração para apresentar a lista de tarefas disponíveis.
  2. Arraste o elemento Conetores para o editor de integração.
  3. Clique no elemento de tarefa Conetores no criador para ver o painel de configuração da tarefa.
  4. Clique em Configurar tarefa.

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

  5. Na caixa de diálogo Configurar tarefa do conetor, faça o seguinte:
    1. Selecione a região de ligação onde criou a ligação MySQL.
    2. Depois de escolher uma região, é apresentada a coluna Ligação. Selecione a associação MySQL que criou na lista de associações disponíveis.
    3. Depois de escolher uma associação, é apresentada a coluna Tipo. Selecione Entidades e, de seguida, funcionário na lista de entidades disponíveis.
    4. Depois de escolher um tipo, é apresentada a coluna Operação. Selecione Lista.
    5. Clique em Concluído para concluir a configuração da associação e fechar a caixa de diálogo.

Ligue o elemento Acionador de API ao elemento de tarefa Conetores

Em seguida, adicione uma ligação de aresta para ligar o acionador de API à tarefa Connectors. Uma associação de aresta é uma associação entre quaisquer dois elementos numa integração. Para mais informações sobre arestas e condições de arestas, consulte o artigo Arestas.

Para adicionar a ligação de limite, clique no ponto de controlo Fork na parte inferior do elemento Acionador de API. Arraste e largue a ligação de aresta no ponto de controlo Juntar na parte superior do elemento de tarefa Conectores.

Teste a integração

Para testar a integração, faça o seguinte:

  1. Clique no botão Testar na barra de ferramentas do editor de integração.
  2. Se quiser, altere o valor de Prazo de execução (em minutos) e, de seguida, clique em Testar integração.
  3. Assim que a integração for concluída com êxito, o painel Testar integração apresenta a mensagem A execução da integração foi bem-sucedida. Para ver os registos, clique em Ver registos.
  4. Em Parâmetros de resposta, em Payload de saída do conector, é apresentada a seguinte saída:
    [ {
        "employee_id": 1.0,
        "employee_first_name": "Peter",
        "employee_last_name": "Dilliard",
        "employee_emailID": "test-01@test.com"
      },
      {
        "employee_id": 2.0,
        "employee_first_name": "Meaghan",
        "employee_last_name": "Webb",
        "employee_emailID": "test-02@test.com"
      } ]

Realize outras operações na tabela da base de dados MySQL

Quando configura uma tarefa de conectores na sua integração, pode selecionar qualquer uma das seguintes operações:

  • Lista
  • Obter
  • Criar
  • Atualizar
  • Eliminar

Já usou a operação List para ver todas as linhas na tabela employee. Nas secções seguintes deste tutorial, vai usar as operações Get, Create, Update e Delete para adicionar, modificar ou remover linhas da tabela employee.

Obtenha uma linha de uma tabela

Se souber o ID da entidade (ou a chave principal) da linha que quer obter, forneça esse valor como entrada para uma operação Get na sua integração. Os detalhes devolvidos pela operação Get são semelhantes aos detalhes devolvidos pela operação List. No entanto, enquanto a operação List obtém detalhes de todas as linhas da tabela que correspondem à consulta especificada, a operação Get obtém detalhes apenas da linha da tabela que corresponde ao ID da entidade especificada.

Tenha em atenção que, embora a operação List devolva por predefinição todas as linhas na tabela, a operação Get requer um ID de entidade como parâmetro de pesquisa. Assim, para usar a operação Get, tem de saber o ID da entidade da linha que quer obter ou fornecer um valor predefinido para o ID da entidade.

Para obter detalhes de uma linha especificada, conclua os seguintes passos para configurar a tarefa Conetores que criou anteriormente:

  1. Clique no elemento de tarefa Conetores no criador para ver o painel de configuração da tarefa.
  2. Clique em Configurar tarefa.

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

  3. Na caixa de diálogo Configurar tarefa do conector, na coluna Operação, selecione Obter e, de seguida, clique em Concluído.
  4. No painel de configuração da tarefa, em Entrada da tarefa, clique em ID da entidade.
  5. Na caixa de diálogo Configurar variável, selecione Usar como entrada para integração e clique em Guardar.
  6. Clique no botão Testar na barra de ferramentas do editor de integração.
  7. Se quiser, altere o valor de Prazo de execução (em minutos).
  8. Introduza o ID da entidade para a qual quer obter detalhes. Introduza 2.
  9. Clique em Testar integração.
  10. Assim que a integração for concluída com êxito, o painel Testar integração apresenta a mensagem A execução da integração foi bem-sucedida. Para ver os registos, clique em Ver registos.
  11. Em Parâmetros de resposta, em Payload de saída do conector, é apresentada a seguinte saída:
    [ {
        "employee_id": 2.0,
        "employee_first_name": "Meaghan",
        "employee_last_name": "Webb",
        "employee_emailID": "test-02@test.com"
      } ]
  12. Pode verificar se as informações apresentadas aqui correspondem às informações na linha correspondente da sua tabela MySQL. Para ver estas informações na sua tabela MySQL, execute o seguinte comando a partir do cliente MySQL:
    SELECT * FROM employee WHERE employee_id=2;
    É apresentada a seguinte linha da tabela:
    +-------------+---------------------+--------------------+------------------+
    | employee_id | employee_first_name | employee_last_name | employee_emailID |
    +-------------+---------------------+--------------------+------------------+
    |           2 | Meaghan             | Webb               | test-02@test.com |
    +-------------+---------------------+--------------------+------------------+
        

Adicione uma linha a uma tabela

A operação Create permite-lhe adicionar uma linha a uma tabela. Quando usa a operação Create, tem de fornecer todos os valores da entidade no payload de entrada do conector.

Para adicionar uma linha através da operação Create, siga os passos abaixo para configurar a tarefa Connectors que criou anteriormente:

  1. Clique no elemento de tarefa Conetores no criador para ver o painel de configuração da tarefa.
  2. Clique em Configurar tarefa.

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

  3. Na caixa de diálogo Configurar tarefa do conector, na coluna Operação, selecione Criar e, de seguida, clique em Concluído.
  4. No painel de configuração de tarefas, em Entrada de tarefas, clique em Payload de entrada do conetor.
  5. Na caixa de diálogo Configurar variável, selecione Usar como entrada para integração e clique em Guardar.
  6. Clique no botão Testar na barra de ferramentas do editor de integração.
  7. Se quiser, altere o valor de Prazo de execução (em minutos).
  8. Introduza os detalhes da entidade que quer criar. Por exemplo, para adicionar um novo funcionário à tabela employee, introduza o seguinte JSON:
    {
      "employee_first_name": "Mary",
      "employee_last_name": "Smith",
      "employee_emailID": "test-03@test.com"
    }
  9. Clique em Testar integração.
  10. Assim que a integração for concluída com êxito, o painel Testar integração apresenta a mensagem A execução da integração foi bem-sucedida. Para ver os registos, clique em Ver registos.
  11. Em Parâmetros de resposta, em Payload de entrada do conector, é apresentado o payload que forneceu:
    {
      "employee_first_name": "Mary",
      "employee_last_name": "Smith",
      "employee_emailID": "test-03@test.com"
    }
    Em Payload de saída do conetor, o ID da entidade é apresentado como resultado:
    {
      "employee_id": 3.0
    }
  12. Pode verificar se a linha foi adicionada à sua tabela MySQL. Para ver estas informações na sua tabela MySQL, execute o seguinte comando a partir do cliente MySQL:
    SELECT * FROM employee;
    São apresentadas as seguintes linhas da tabela:
    +-------------+---------------------+--------------------+------------------+
    | employee_id | employee_first_name | employee_last_name | employee_emailID |
    +-------------+---------------------+--------------------+------------------+
    |           1 | Peter               | Dilliard           | test-01@test.com |
    |           2 | Meaghan             | Webb               | test-02@test.com |
    |           3 | Mary                | Smith              | test-03@test.com |
    +-------------+---------------------+--------------------+------------------+
        

Atualize uma linha numa tabela

Use a operação Update para fazer alterações aos valores numa linha da tabela. Por exemplo, pode usar esta operação para atualizar o ID de email de um funcionário na tabela employee. Para especificar a entidade que quer atualizar, pode fornecer o ID da entidade, tal como fez para a operação Get. Em alternativa, pode usar o parâmetro cláusula Filter para transmitir valores nos quais filtrar as linhas da tabela. Isto é útil se quiser fazer a mesma alteração em várias linhas com base em critérios de pesquisa específicos.

Para atualizar uma linha da tabela, siga estes passos para configurar a tarefa Conetores que criou anteriormente:

  1. Clique no elemento de tarefa Conetores no criador para ver o painel de configuração da tarefa.
  2. Clique em Configurar tarefa.

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

  3. Na caixa de diálogo Configurar tarefa do conector, na coluna Operação, selecione Atualizar e, de seguida, clique em Concluído.
  4. No painel de configuração de tarefas, em Entrada de tarefas, clique em Payload de entrada do conetor.
  5. Na caixa de diálogo Configurar variável, selecione Usar como entrada para integração e clique em Guardar.
  6. Em seguida, no painel de configuração da tarefa, em Entrada da tarefa, clique em Cláusula de filtro.
  7. Na caixa de diálogo Configurar variável, selecione Usar como entrada para integração e clique em Guardar.
  8. Clique no botão Testar na barra de ferramentas do editor de integração.
  9. Se quiser, altere o valor de Prazo de execução (em minutos).
  10. Introduza os critérios pelos quais quer filtrar. Por exemplo, para encontrar um funcionário com o ID de email test-03@test.com, introduza:
    employee_emailID="test-03@test.com"
  11. Introduza os valores que quer atualizar. Por exemplo, para atualizar o ID de email de todos os funcionários na tabela employee cujo ID de email atual corresponda à cláusula de filtro test-03@test.com, introduza o seguinte JSON:
    {
      "employee_emailID": "msmith@test.com"
    }
  12. Clique em Testar integração.
  13. Assim que a integração for concluída com êxito, o painel Testar integração apresenta a mensagem A execução da integração foi bem-sucedida. Para validar que a entidade foi atualizada, use a operação Get para obter os detalhes da entidade especificada.
  14. Pode verificar se a linha está atualizada na sua tabela MySQL. Para ver estas informações na sua tabela MySQL, execute o seguinte comando a partir do cliente MySQL:
    SELECT * FROM employee;
    São apresentadas as seguintes linhas da tabela:
    +-------------+---------------------+--------------------+------------------+
    | employee_id | employee_first_name | employee_last_name | employee_emailID |
    +-------------+---------------------+--------------------+------------------+
    |           1 | Peter               | Dilliard           | test-01@test.com |
    |           2 | Meaghan             | Webb               | test-02@test.com |
    |           3 | Mary                | Smith              | msmith@test.com  |
    +-------------+---------------------+--------------------+------------------+
          

Elimine uma linha numa tabela

Pode usar a operação Delete para eliminar uma ou mais linhas de tabelas. Indique o ID da entidade ou use a cláusula de filtro para especificar as linhas que quer eliminar. Tenha em atenção que, se usar a cláusula de filtro para especificar critérios para as linhas que quer eliminar, é possível eliminar várias linhas que correspondam ao filtro indicado. Se quiser eliminar apenas uma linha específica, use o ID da entidade.

Para eliminar uma linha de tabela através do ID da entidade, siga estes passos para configurar a tarefa Conetores que criou anteriormente:

  1. Clique no elemento de tarefa Conetores no criador para ver o painel de configuração da tarefa.
  2. Clique em Configurar tarefa.

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

  3. Na caixa de diálogo Configurar tarefa do conetor, na coluna Operação, selecione Eliminar e, de seguida, clique em Concluído.
  4. No painel de configuração da tarefa, em Entrada da tarefa, clique em ID da entidade.
  5. Na caixa de diálogo Configurar variável, selecione Usar como entrada para integração e clique em Guardar.
  6. Clique no botão Testar na barra de ferramentas do editor de integração.
  7. Se quiser, altere o valor de Prazo de execução (em minutos).
  8. Introduza o ID da entidade da linha da tabela que quer eliminar. Introduza 3.
  9. Clique em Testar integração.
  10. Assim que a integração for concluída com êxito, o painel Testar integração apresenta a mensagem A execução da integração foi bem-sucedida. Para validar que a linha da tabela foi eliminada, use a operação Get para obter os detalhes da linha que eliminou. Isto deve devolver um erro para o ID da entidade especificado.

    Também pode usar a operação List e, opcionalmente, fornecer uma cláusula de filtro para a linha (ou linhas) da tabela que eliminou. Isto devolve a lista de linhas restantes, que pode ser uma lista vazia.

    Por exemplo, se eliminou a linha da tabela com o ID da entidade 3, se especificar a cláusula de filtro employee_emailID="msmith@test.com" ou o ID da entidade 3 para a operação List, os parâmetros de resposta nos registos apresentam [].

  11. Pode verificar se a linha foi eliminada na sua tabela MySQL. Para validar esta ação na sua tabela MySQL, execute o seguinte comando a partir do cliente MySQL:
    SELECT * FROM employee;
    São apresentadas as seguintes linhas da tabela:
    +-------------+---------------------+--------------------+------------------+
    | employee_id | employee_first_name | employee_last_name | employee_emailID |
    +-------------+---------------------+--------------------+------------------+
    |           1 | Peter               | Dilliard           | test-01@test.com |
    |           2 | Meaghan             | Webb               | test-02@test.com |
    +-------------+---------------------+--------------------+------------------+
            

O que se segue?