Skyone
Português
Português
  • Home
  • Plataforma Skyone
    • Visão Geral
    • Acesso e Cadastro
      • Recuperar senha da plataforma
    • Configurações e Preferências
      • Meu Perfil
      • Gestão de Usuários
        • Como convidar um usuário para a plataforma?
        • Opções para Gestão de Usuários
        • Tipos de permissões de usuários
      • Convites
      • Minha Empresa
      • Configuração de Casos de Suporte
      • Gestão de Empresas
      • Faturamento
      • Configurações
      • Segurança
      • Feedback
      • Logs
      • Cancelamento
      • Parceiro-Clientes
        • Meus Clientes
        • Meu Parceiro
    • Notificação
    • Health: Verificação do status da plataforma
    • Casos de suporte
      • Como acompanhar e responder os casos de suporte?
      • Guia para abertura de chamados ABO
  • Computação em Nuvem
    • Visão Geral
    • Autosky
      • Login e Registro de senha
        • Recuperação de Senha
      • Perfil e preferências
      • Recursos do Autosky
        • Dashboard
        • Contas
          • Servidores
            • Opções dos servidores
        • Ambientes
          • Ambiente Micro
            • Instâncias do ambiente micro
            • Servidores do ambiente micro
          • Ambiente Scaling
            • Instâncias do ambiente scaling
            • Servidores do ambiente scaling
          • Outros recursos dos ambientes
        • Clientes
          • Editar e Clonar
          • Usuários
          • Aplicações
          • Sessões
          • Gerenciar Restrições de Acesso
          • Manutenção
            • Histórico de manutenção:
        • Usuários
    • Servidores em Nuvem
      • Opções de Servidores em Nuvem
      • Auditoria de Backups
  • Studio
    • Visão Geral
      • Criação da conta
      • Recuperar senha
      • Guia rápido da plataforma
      • Como testar a plataforma gratuitamente
      • Espaço de trabalho
        • Criação de novo espaço
        • Encontrar um espaço
        • Enviar convite para um espaço
        • Editar um espaço
      • Organizações
        • Criando uma Organização
        • Visão Geral da Organização
        • Administração da Organização
        • Monitoramento da Organização
      • Configurações e Preferências
        • Perfil
        • Notificações
        • Uso e Pagamento
        • Usuários e permissões
    • Integrações
      • Gestão das integrações
        • Criar integração
        • Importar integração
        • Editar integração
        • Opções da integração
        • Fluxos dessa integração
      • Fluxos
        • Gestão dos fluxos
          • Criar fluxo
          • Opções do fluxo
          • Flow Canva: configuração e edição do fluxo
            • Flow Canva: visão geral
            • Exception Handler
              • Configuração do Exception Handler
              • Cases do Exception Handler
            • Fluxos Multicontexto
              • Exemplo: Multicontexto com API Gateway
              • Exemplo: Multicontexto com Gatilho Temporal
            • Configuração do fluxo
        • Gatilhos
          • Gatilhos API Gateway: Adição e Configuração
          • Gatilhos AS2: Adição e Configuração
          • Gatilho de Fila: Adição e Configuração
          • Gatilhos de Fluxo: Adição e Configuração
          • Gatilhos Temporais: Adição e Configuração
          • Gatilhos Webhook: Adição e Configuração
        • Módulos Ferramentais
          • Módulo AS2
          • Módulo CSV
          • Módulo Chamada de Fluxo
          • Módulo Data Balancer
          • Módulo Data SQL execute
          • Módulo EDI
          • Módulo File Job Execute
          • Módulo IF
          • Módulo JavaScript
          • Módulo JSONata Job Execute
          • Módulo Log
          • Módulo Loop Do While
          • Módulo Loop For
          • Módulo Retorno
          • Módulo Transformação de Dados
          • Módulo XML
          • Outros Módulos Ferramentais da plataforma
      • Cabeçalho dos módulos
      • Conectando componentes de um fluxo
      • Edição de gatilhos e módulos no fluxo
      • Operações de Dados
        • Manipulação de Objetos
          • Exemplo prático: Manipulação de variáveis
        • SMOP (Pequenas Operações)
        • Regras de Parametrização
    • Módulos
      • Gestão de módulos
        • Criação de Módulos
        • Importar Módulos
          • Arquivos IAC - Integration as Code
        • Edição de Módulos
        • Opções de Módulos
      • Configurações & Operações
        • Configurações de Módulos
          • Conectividade: Banco de Dados
          • Conectividade: Email
          • Conectividade: REST
          • Conectividade: SOAP
          • Conectividade: Arquivo
          • Conectividade: RFC
          • Gestão das contas conectadas
        • Operações de Módulos
          • Importar operações em módulos REST
          • Gestão das operações
        • Fluxos usando este Módulo
    • Monitoramento
    • API Gateway
    • Terminais & Agente
      • Agente
        • Versões suportadas pelo Agente
        • Como atualizar a versão do Agente
        • Como fazer backup dos arquivos do Agente
      • Terminais
    • Data Management
      • Engine
        • Como utilizar o Proxy para Data Engine
      • Parâmetros
      • Filtros de arquivo
      • Templates de arquivo
      • File Jobs
      • JSONata Jobs
    • Data Lake
    • Data Warehouse
      • Data Jobs
      • Banco de Dados
    • Inteligência Artificial
    • How to
      • Inserir JSON em bancos de dados
      • Flattening: Transformação de dados utilizando JSONata
      • Como utilizar o Form Data
      • Entendendo a recursividade no JSONata
      • Consolidação de output de módulo REST
      • Como configurar um timeout de um componente?
      • Isolar na execução: conceito e aplicação em variáveis
      • Parâmetros de URL no API Gateway
      • Caso de uso: parâmetros de gatilho API Gateway
      • Caso de uso: Exception Handler em transações financeiras
      • Caso de uso: utilizando Grupos para gerenciar acessos aos fluxos
      • Como criar endpoint para download e integrar com o Power BI
      • É possível usar dois gatilhos em um único fluxo?
    • FAQ
    • GIGS: O guia completo
    • Glossário
  • Cibersegurança
    • Visão Geral
    • Análise de Ameaças
      • Painel de Segurança
      • Alvos
      • Agendamentos
      • Resolução de Alvos
      • Grupo de Ameaças
      • Relatório
    • Como instalar os agentes de segurança do Bitdefender
Powered by GitBook
On this page
  1. Studio
  2. Integrações
  3. Fluxos
  4. Gestão dos fluxos
  5. Flow Canva: configuração e edição do fluxo
  6. Fluxos Multicontexto

Exemplo: Multicontexto com Gatilho Temporal

PreviousExemplo: Multicontexto com API GatewayNextConfiguração do fluxo

Last updated 5 months ago

Este exemplo ilustra a criação de um fluxo multicontexto a partir de um gatilho temporal. Os contextos são programados internamente a partir de uma variável de fluxo


Definição do Fluxo

Neste exemplo, trazemos um cenário de uma integração entre um sistema Web que provê informações meteorológicas e um banco de dados Postgres. As informações meteorológicas são obtidas de forma recorrente através de um gatilho temporal. A cada leitura também registramos as informações relevantes em um banco de dados de forma que possam ser consultadas posteriormente.

A leitura das informações meteorológicas requer a especificação da localidade sobre a qual os dados correntes serão fornecidos. Além disso, é necessário fornecer um token de acesso para que a API funcione corretamente.

Inicialmente faremos um fluxo monocontexto (convencional) que recupera os dados de uma única localidade e armazena em um único banco de dados. Em seguida vamos estender o mesmo fluxo para que possamos fazer a leitura das informações meteorológicas de múltiplas localidades usando contas distintas de acesso e armazenar as informações de cada localidade em um banco de dados distinto. Para isso utilizaremos as ferramentas de multicontexto da plataforma.


Passos


Passo a Passo

Passo 01: Crie o fluxo monocontexto original

Inicie pela criação da versão monocontexto do fluxo para podermos validar de forma mais simples o seu correto funcionamento. A versão monocontexto é apenas uma versão convencional de flow que funciona para apenas um contexto. Depois que essa versão estiver funcional iremos transformá-la em multicontexto.

Você também pode iniciar a criação de um fluxo multicontexto do zero. Esse exemplo parte de um fluxo monocontexto por propósitos didáticos.

O fluxo original que vamos trabalhar se parece com o da figura abaixo

Periodicamente o fluxo chama uma API da Weather API e obtém as informações meteorológicas de uma determinada localidade. Em seguida, um módulo de Banco de Dados armazena as informações relevantes em um banco de dados Postgres.

A Weather API necessita de apenas duas variáveis. O primeiro é a localidade para a qual se busca as informações. Informamos esse parâmetro através de uma variável de fluxo previamente configurada.

Os dados retornados pela Weather API são armazenados no Banco de Dados Postgres.

Passo 02: Crie as chaves de contexto

Esse fluxo tem um gatilho temporal e não recebe informações externas na sua inicialização. Por essa razão as informações de contexto serão armazenadas dentro do próprio fluxo através de uma variável de fluxo.

Na versão multicontexto esse mesmo fluxo irá rodar múltiplas vezes, porém em cada uma utilizará informações diferentes de cidades, chaves de acesso à Weather API e conta de banco de dados. Para isso vamos criar uma chave de contexto que nos permitirá identificar essas informações. A chave de contexto pode ser qualquer identificador que seja único. Podemos utilizar uma informação de userid como números sequenciais tais como: 0001, 0002, 0003 e assim por diante.

Crie um parâmetro de fluxo do tipo array. Você pode nomeá-lo como userid_list e coloque como valor a lista de userids que definirão os contextos, como por exemplo:

["0001","0002","0003"]

Passo 03: Crie o loop do fluxo

Vamos executar o mesmo procedimento para cada contexto. Para isso criaremos um loop definindo qual o trecho do fluxo será executado repetidas vezes.

Especifique como lista de controle o parâmetro de fluxo recém criado userid_list. Dessa forma o loop será executado uma vez para cada chave de contexto.

Passo 04: Insira o "Context Finder"

Cada vez que a plataforma percorrer o loop, um contexto diferente deverá ser utilizado. Para isso colocaremos o "Context Finder" dentro do loop.

Insira o "Context Finder" conforme mostra a imagem seguir:

O "Context Finder" requer como parâmetro a chave do contexto a ser utilizado. Passe o valor do elemento sendo utilizado no módulo Dessa forma estaremos passando os valores de userid definidos no parâmetro de fluxo criado anteriormente.

Passo 05: Defina as variáveis de fluxo que mudam com o Contexto

Precisamos indicar quais são as variáveis que irão modificar de acordo com o "Contexto".

No fluxo original existem duas variáveis de fluxo que irão variar de acordo com o contexto. Ambas são utilizadas como variáveis pela Weather API.

  • location

  • key_

Precisamos configurar para que ambas sejam definidas por contexto. Para isso acesse a definição dessas variáveis em "Contexto" > "Variáveis".

Caso você acesse por "Configurações", observe que estarão em "Variáveis", na aba "Contexto".

Não é possível mover uma variável de fluxo para a de contexto

Passo 06: Defina as contas que mudam com o Contexto

Precisamos indicar quais são as contas que irão modificar de acordo com o "Contexto".

No fluxo original existe apenas uma conta irá variar de acordo com o contexto. Trata-se da conta de acesso ao Banco de Dados Postgres.

Acesse o módulo do Banco de Dados e selecione a opção: “Utilizar contexto nesse componente”.

Clique em "Próximo". Você pode testar novamente o módulo e depois clique em "Salvar".

Observe que a plataforma assume a conta que já estava configurada anteriormente como sendo parte do "Contexto Default".

Passo 07: Crie as contas de Contexto para o Banco de Dados

Cada contexto irá acessar a sua própria conta. Para isso é necessário definir contas individuais.

Acesso as contas em Configurações-> Contas conectadas. Selecione em "Gerenciar conta conectada" a opção "Banco de Dados" e em Banco de Dados: POSTGRESQL. Crie as contas de acesso ao Banco de Dados.

Passo 08: Crie os Contextos

Cada contexto corresponde a um conjunto de variáveis e contas que será acessado quando o contexto for identificado. Neste passo criamos os contexto e atribuímos uma chave que permite localizá-lo.

No painel principal de edição de Fluxo, clique em "Contexto". Inicialmente apenas o contexto "Default" está presente. Vamos criar os contextos adicionais para o nosso exemplo.

Clique em “Adicionar contexto”. Especifique um nome para o primeiro contexto, como por exemplo “User 01” e atribua um valor para a chave. Esse é o valor que será pesquisado pelo "Context Finder" para identificar o contexto. Entre com valor 0001 e clique "Salvar".

Repita a operação para criar o contexto User 02 com a chave 0002, o contexto User 03 com a chave 0003.

Passo 09: Defina as variáveis e as contas dentro de cada contexto

Defina os valores das variáveis e atribua as contas para cada contexto.

Com os contextos criados, você pode editar as sua variáveis e definir as contas que cada contexto deve utilizar. Clique no lápis do contexto User 01 para editar seus valores. Observe que na aba "Variáveis" você tem acesso à definição das variáveis location e key_ para esse contexto. Clique no lápis ao lado de cada uma das variáveis e defina os seus valores.

Na aba "Contas Conectadas" você vê todos os módulos que requerem contas de contexto. Neste exemplo existe apenas o módulo do Banco de Dados Postgres que requer a definição de uma conta. Clique no seletor de contas e especifique uma das contas de Bancos de Dados que você criou anteriormente, neste exemplo foi selecionado a conta User 01 DB. Salve e feche para retornar à edição de contexto.

Repita a edição de variáveis e contas para os demais contextos. Neste exemplo utilizamos as informações da tabela abaixo para a configuração. Você precisará utilizar suas próprias chaves de acesso para configurar a variável key_ de acesso à Weather API.

Contexto

chave

location

key_

conta

User 01

0001

Sao Paulo

1f4efae6226c4e04a81140559220607

User 01 DB

User 02

0001

New York

f2fc5cb46fb74fe9b9d142517220607

User 02 DB

User 03

0003

Tokyo

8d91cdcb8c373805981143223220607

User 03 DB

Passo 10: Ative e rode o fluxo

Você pode verificar o correto funcionamento do fluxo através dos logs disponíveis na plataforma.

Ative o fluxo e clique em "Execução manual". Aguarde o término da execução e verifique os logs. Observe que o "Context Finder" localiza as informações de contexto a cada vez que fluxo passa pelo loop.


Próximos Passos:

Crie um fluxo que recebe a chave de contexto a partir de uma informação externa.


O é acionado a cada 15 min.

O segundo parâmetro é uma chave de autenticação para acesso à Weather API. O acesso à API é público porém requer um registro prévio no onde é fornecida a key para ser utilizada como autenticação.

Insira os módulos ferramentais de conforme a imagem abaixo. Faremos a leitura dos dados meteorológicos e respectiva escrita no banco de dados para cada contexto.

gatilho temporal
site
Loop For
[ Passo 01 ] Crie o fluxo monocontexto original
[ Passo 02 ] Crie as chaves de contexto
[ Passo 03 ] Crie o loop do fluxo
[ Passo 04 ] Insira o context finder
[ Passo 05 ] Defina as variáveis de fluxo que mudam com o Contexto
[ Passo 06 ] Defina as contas que mudam com o Contexto
[ Passo 07 ] Crie as contas de Contexto para o Banco de Dados
[ Passo 08 ] Crie os contextos
[ Passo 09 ] Defina as variáveis e as contas dentro de cada Contexto
[ Passo 10 ] Ative e rode o fluxo
Fluxo monocontexto original e multicontexto adaptado
Store Weather Data - Monocontexto
Gatilho Temporal
Weather API: Get Current Weather Data
Banco de Dados Postgres: Insert Weather Information
Definições de contexto
Elemento do Loop For como chave de contexto
Criação de Contas Conectadas para o Banco de Dados
Edição de variáveis de Contexto
Contas de Banco de Dados em Contexto