Projeto Source

O script do fluxo de integração é apenas uma parte do seu projeto Source, que pode conter outros arquivos importantes.

Você poderá visualizar as pastas do projeto no lado esquerdo do quadro main.yaml:

folder structure

Flow

A pasta Flow contém o arquivo principal do fluxo de integração, denominado main.yaml. Cada projeto pode conter apenas um arquivo main.yaml, o qual não pode ser renomeado ou excluído.

Resources

Para alguns componentes do Apache Camel, como o “JSONata”, é necessário utilizar scripts armazenados em arquivos separados. Esses arquivos podem ser criados na pasta Resources, independentemente da extensão do arquivo. Dessa forma, você pode referenciá-los diretamente no fluxo principal, garantindo que sejam utilizados durante a execução do fluxo de integração.

Todos os arquivos adicionados à pasta Resources são automaticamente adicionados ao classpath da integração e devem ser referenciados usando localizadores de classpath, de acordo com a documentação de cada componente.

Criando um arquivo

Para criar um arquivo, siga os passos abaixo:

  1. Clique no botão +, à direita do nome da pasta.

  2. Especifique o nome e a extensão do arquivo: por exemplo, jsonata.yaml, teste.txt etc.

Uma ícone de uma bolinha amarela ao lado direito do nome do arquivo indica que o arquivo não foi salvo.
Já uma ícone de uma bolinha vermelha, indica que há erros no arquivo.

Requisitos para o nome do arquivo

O nome do arquivo deve atender aos seguintes critérios:

  • Tamanho máximo: 100 caracteres.

  • Caracteres permitidos: alfanuméricos, -,_ e ..

  • Unicidade: cada nome de arquivo deve ser único, mas você pode ter, por exemplo, test.yaml e test.json.

Tipos de extensão

  • Se a extensão do arquivo for .yaml, .json ou .xml, o mesmo será formatado com cores e layout. Caso a estrutura esteja incorreta, uma notificação será exibida.

  • Se a extensão do arquivo for diferente das mencionadas, o arquivo não será validado. No entanto, você poderá criar o seu script normalmente.

Limites

  • Não há limite para a quantidade de arquivos que a pasta pode conter.

  • Um arquivo pode ter no máximo 1 MB.

Flow variables

Nesta pasta, você poderá criar e gerenciar as variáveis do seu fluxo de integração. Essas variáveis permitem uma configuração personalizada do fluxo e a parametrização dos ambientes, eliminando a necessidade de criar um fluxo de integração separado para cada ambiente.

Caso seu fluxo tenha um gatilho (trigger) do tipo REST, não será possível utilizar variáveis de ambiente na URI.

Criando uma variável

Para criar uma variável, siga os passos abaixo:

  1. Selecione o ambiente: clique no nome do ambiente no qual a variável será aplicada: Production ou Staging.

    • Uma janela modal se abrirá com um formulário de cadastro.

  2. Preencha os campos:

    • Variable: nome da variável. Campo alfanumérico. É permitido o uso dos caracteres . e _.

    • Value: valor atribuído à variável, que será implantado automaticamente conforme o ambiente selecionado.

  3. Salve a variável: clique em SAVE.

  4. Referencie a variável: no script do fluxo, no arquivo main.yaml, referencie a variável criada.

Para aplicar as variáveis cadastradas, referencie-as no script do fluxo de integração informando o nome do componente, como nos exemplos abaixo:

  • uri: "http://{{nome da variável}}" ou

  • uri: "jsonata:{{nome da variável}}"

Gerenciamento de variáveis

  • Para adicionar mais de uma variável, clique no botão + no canto direito.

  • Para excluir uma variável, clique no ícone da lixeira.

  • Para ocultar uma variável, clique no ícone do olho.

Não é possível alterar as variáveis de um fluxo com status Deployed. Para modificá-las, será necessário fazer uma nova implantação.

Variáveis bloqueadas

As variáveis listadas abaixo são reservadas para uso interno e não podem ser utilizadas:

AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION
AWS_DEFAULT_REGION
RESOURCES_DIR
CAMEL_* (qualquer variável iniciada com CAMEL_)

Exemplos

O exemplo abaixo faz referência à variável "name". Na execução desta integração, a variável será substituída pelo nome cadastrado.

- from:
    uri: "rest:get:/hello"
    steps:
    - log:
          message: "Hello {{name}}"

source env variables 1

Neste outro exemplo, referenciamos uma variável em uma URL.

- to:
                id: to-generic
                uri: "https://{{url1}}"
                parameters:
                  httpMethod: POST

source env variables 2

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]