Primeiros passos com a integração da Apigee e o Cloud Pub/Sub

Saiba como criar uma integração de amostra usando a integração da Apigee e o gatilho do Cloud Pub/Sub. As etapas a seguir descrevem como configurar o acionador, as tarefas, variáveis e os mapeamentos de dados necessários para executar uma integração completa.

Informações gerais

Neste guia de início rápido, você criará uma integração com um gatilho do Cloud Pub/Sub para detectar um tópico existente do Pub/Sub que recebe leituras de temperatura em graus Kelvin de um dispositivo de IoT. Depois, use a tarefa Mapeamento de dados para transformar a mensagem do Pub/Sub em Celsius e enviar o valor em um e-mail.

Antes de começar

Verifique se você realizou as tarefas a seguir antes de começar o tutorial.

    • Atribua os papéis do IAM ao agente de serviço da Apigee (service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com) no seu projeto do Google Cloud.
      • Editor do Pub/Sub
      • Invocador de integração da Apigee

        Para mais informações sobre como atribuir papéis do IAM, consulte Papéis e permissões do IAM.

    Configurar o ambiente

    Crie um novo tópico do Cloud Pub/Sub.

    Neste tutorial, imagine que você tem um tópico do Pub/Sub que recebe leituras de temperatura em graus Kelvin de um dispositivo IOT. Não é necessário ter o tópico conectado a um dispositivo. Neste guia de início rápido, testamos a capacidade da integração de ouvir o tópico e realizar tarefas quando acionadas.

    Para criar um tópico de amostra para os fins deste guia de início rápido:

    1. Acesse a página de tópicos do Pub/Sub no Console do Cloud

      Acesse a página de tópicos do Cloud Pub/Sub.

    2. Clique em Create a topic.
    3. No campo ID do tópico, forneça um nome de tópico exclusivo. Por exemplo, temperaturesensor
    4. Clique em Save.

    Criar uma nova integração

    Para criar uma nova integração, execute as seguintes etapas:

    1. Na IU da Apigee, selecione sua organização da Apigee.
    2. Clique em Desenvolver > Integrações.
    3. Clique em CRIAR INTEGRAÇÃO.
    4. Digite um nome e uma descrição na caixa de diálogo Criar integração. Por exemplo, my-test-integration.
    5. Selecione uma região para a integração.
    6. Clique em Criar para abrir o editor de integração.

    Adicionar um gatilho do Cloud Pub/Sub

    Para adicionar um gatilho do Cloud Pub/Sub à integração, siga as etapas abaixo:
    1. No editor de integração, selecione Acionadores para exibir uma lista de acionadores disponíveis.
    2. Clique e posicione o elemento Gatilho do Cloud Pub/Sub no designer.

    Configurar um gatilho do Cloud Pub/Sub

    Clique no elemento Cloud Pub/Sub Trigger no editor de integração para visualizar o painel de configuração do acionador.

    Especifique o tópico que o gatilho ouvirá no campo Tópico do Pub/Sub no seguinte formato: em que:

    projects/PROJECT_ID/topics/TOPIC_ID
    onde:
    • PROJECT_ID é o projeto do Google Cloud em que o tópico foi criado;
    • TOPIC_ID é o ID do tópico do Cloud Pub/Sub que você criou em Antes de começar.

    Por exemplo, se seu projeto for denominado my-project e você nomeou seu tópico temperaturesensor, digite:

    projects/my-project/topics/temperaturesensor

    Para ver todos os tópicos disponíveis no seu projeto do Google Cloud, consulte a coluna Nome do tópico em Tópicos.

    O painel de configuração Acionador do Cloud Pub/Sub preencherá automaticamente o campo Saída do acionador com uma variável para armazenar a mensagem do Pub/Sub.

    Adicionar e configurar a tarefa de mapeamento de dados

    Para configurar a tarefa Mapeamento de dados:

    1. Selecione Tarefas para mostrar uma lista das tarefas disponíveis.
    2. Clique e posicione o elemento Mapeamento de dados no editor de integração.
    3. Clique na tarefa Mapeamento de dados no designer 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 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 como transmitir dados como variáveis, consulte Como usar variáveis na integração da Apigee.

      Para este guia de início rápido, siga estas etapas para criar um mapeamento usando CloudPubSubMessage como entrada:

      1. Expanda a variável JSON CloudPubSubMessage na lista Variáveis e arraste a variável CloudPubSubMessage.data para a primeira linha de Entrada.
      2. Clique em + (Adicionar uma função) ao lado da variável CloudPubSubMessage.data para acessar a lista suspensa de funções disponíveis.
      3. Selecione TO_DOUBLE() para converter o valor CloudPubSubMessage.data em um tipo de dados de double.
      4. Clique em + (Add a function) novamente para selecionar e encadear a função SUBTRACT.
      5. Insira 273.15 como o valor da função SUBTRACT. Isso converterá a temperatura em Kelvin para graus Celsius.
      6. Clique na segunda linha na coluna Saída para criar uma nova variável que armazene o valor dos dados transformados. Preencha os seguintes campos:
        • Nome: insira TempInCelsius.
        • Marque a opção Usar como saída da integração.
        • Clique em Criar para criar a variável e fechar o painel. A nova variável TempInCelsius aparecerá na lista Variáveis.
      7. Arraste a variável TempInCelsius da lista Variáveis para a segunda linha na coluna Input.
      8. Clique em + Adicionar função na variável TempInCelsius para ver a lista suspensa de funções disponíveis.
      9. Clique em TO_STRING() para transformar o tipo de dados da variável de double para string.
      10. Clique na segunda linhdah na coluna Output para criar uma nova variável que armazene o valor dos dados transformados. Preencha os seguintes campos:
        • Nome: insira TempInCelsiusString.
        • Valor padrão em branco significa: selecione String vazia.
        • Marque a caixa de seleção Usar como saída de integração.
        • Clique em Criar para criar a variável e fechar o painel. A nova variável será exibida na lista Variáveis à esquerda do editor de mapeamento de dados.
      11. Feche o Editor de mapeamento de dados quando o mapeamento for concluído. Todas as alterações serão salvas automaticamente.

    Adicionar e configurar a tarefa "Enviar e-mail"

    Para configurar a tarefa Enviar e-mail, siga estas etapas:

    1. Selecione Tasks no editor de integração para mostrar a lista de tarefas disponíveis.
    2. Clique e posicione o elemento Enviar e-mail no editor de integração.
    3. Clique no elemento Enviar e-mail no designer para abrir o painel de configuração da tarefa. Defina as seguintes propriedades:
      • Para os destinatários: digite seu endereço de e-mail. Você usará esse e-mail para confirmar a conclusão da integração.
      • Assunto: insira Temperature in Celsius.
      • Corpo em texto simples: selecione a variável TempInCelsiusString criada anteriormente na tarefa Mapeamento de dados.
      • As opções restantes podem ser deixadas na configuração padrão.
      As alterações feitas nas propriedades são salvas automaticamente.

    Adicionar as conexões de borda necessárias

    Uma borda é a conexão entre dois elementos em uma integração. A conexão indica a direção do fluxo de controle de um elemento (tarefa ou gatilho) para outro. Para ver mais informações sobre bordas, consulte Edges.

    1. Adicione uma conexão de borda do elemento Cloud Pub/Sub Trigger ao elemento Mapeamento de dados passando o mouse sobre um ponto de controle no Cloud Pub/Sub Trigger e, em seguida, clicar e arrastar uma linha para um ponto de controle no elemento de tarefa Mapeamento de dados. A borda indica o fluxo de controle da tarefa Acionador do Cloud Pub/Sub para a tarefa Mapeamento de dados.
    2. Adicione uma conexão de borda pelo elemento Mapeamento de dados ao elemento Enviar e-mail passando o cursor sobre um ponto de controle no elemento Mapeamento de dados. Em seguida, clique e arraste uma linha para um ponto de controle no elemento da tarefa Enviar e-mail. A borda indica o fluxo de controle da tarefa Mapeamento de dados para a tarefa Enviar e-mail.

    O mapeamento concluído será exibido como na figura abaixo:

    imagem mostrando o fluxo de início rápido imagem mostrando o fluxo de início rápido

    Testar a integração

    Para testar a nova integração na página de tópicos do Pub/Sub, siga estas etapas:

    1. Acesse a página de tópicos do Pub/Sub no Console do Cloud

      Acesse a página de tópicos do Cloud Pub/Sub.

    2. Pesquise e selecione o tópico temperaturesensor que você criou.
    3. Na página de detalhes do tópico, clique em + Publicar mensagem para abrir o painel de configuração Publicar mensagem.
    4. No campo Corpo da mensagem, digite 307.15.

      A criação dessa mensagem simula a publicação de uma leitura de temperatura em Kelvin recebida pelo Pub/Sub de um dispositivo IOT.

    5. Clique em Publicar para publicar a mensagem no tópico e acionar a integração.

    Após a conclusão, a integração enviará um e-mail com a temperatura da Kelvin convertida em graus Celsius para o endereço de e-mail especificado na tarefa Send Email. Confirme o recebimento da mensagem no seu cliente de e-mail.

    O e-mail enviado pela integração deverá ter um corpo de mensagem com o valor 34.

    Além de verificar o conteúdo do e-mail, é possível inspecionar os registros para visualizar o status e o payload de uma determinada integração. Para conferir os registros:

    1. No editor de integração, clique em imagem mostrando o ícone de registros de execuçãoExibir registros de execução para esta integração. A página Registros de execução é exibida. Para mais informações sobre registros de execução, consulte Visualizar registros de execução de integração.
    2. Na página Execution Logs, você pode ver detalhes sobre cada tentativa de executar uma integração. Cada entrada inclui detalhes para a tentativa de execução, incluindo:
      • Nome da integração
      • ID da execução
      • Status
      • Horário de início
      • Duração
      • Versão da integração
      • ID de acionamento
    3. Clique na seta de expansão (>) ao lado da integração executada para conferir uma lista expandida de tarefas e variáveis na integração, além do status da tarefa e payloads de variável.