App

A sessão App reúne as configurações principais da aplicação, incluindo a chave de licença, os modos de Debug com logs detalhados, configurações para ambientes multi-inquilinos em SaaS e a Idempotência.

Uma das pricipais configurações do App é a opção de exibir logs avançados para debug / troubleshoot no microsserviço. Você pode ativar parcialmente por adapter ou o modo “Debug=true” para afetar todo o projeto.

Utilize esse modo de configuração para investigar possíveis problemas na aplicação. Se estiver utilizando em container terá adicionalmente uma lista de todas as variáveis recebidas.

Nesse item nós podemos configurar também o recurso de Multi-Tenancy para aplicações SaaS (Software as a service) e o recurso de Idempotency.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  "DevPrime_App": {
    "License":"**** Put your license code ****",
    "Debug": "false",
    "DebugWeb": "false",
    "DebugState": "false",
    "DebugStream": "false",
    "DebugServices": "false",
    "Tenancy": {
      "Enable": "false",
      "Type": "Shared",
      "Gateway": "https://localhost:5003",
      "Cache": "State2"
    },
    "Idempotency": {
      "Enable": "false",
      "Alias": "State2",
      "Duration": "86400",
      "Flow": "frontend",
      "key": "transactionid",
      "Scope": "all",
      "Action": "auto"
    }
  },

No exemplo abaixo, estamos detalhando as configurações padrões do App agrupadas em Geral, Tenancy e Idempotency.

App
License Informação da licença de uso da Devprime
Debug Ativa o Debug detalhado em todos os serviços (True/False)
DebugWeb Ativa o Debug apenas para o Adapter Web (True/False)
DebugState Ativa o Debug apenas para o Adapter State (True/False)
DebugStream Ative o Debug apenas para o Adapter Stream (True/False)
DebugServices Ative o Debug apenas para o Adapter Services (True/False)
Tenancy
Enable Ativar o suporte Multi-tenant / SaaS (True/False)
Type Configura a estratégia de Tenacy
Gateway Url do Tenacy Gateway
Cache Configura um serviço de State para persistência
Idempotency
Enable Ativar o serviço de Idempotência (True/False)
Alias Configura um serviço de State para persistência
Duration Define a duração da Idempotência e proteção contra registros duplicados
Flow Define o tipo de Flow (Backend or Frontend)
key Define uma chave requerida no head do request com o Flow “Frontend”
Scope Configura a atuação da Idempotência (All or Web or Stream)
Action Define se a Idempotência será automática ou manual (Auto or Manual)

Considerações adicionais:

  • Ao utilizar o fluxo “Frontend”, será obrigatório informar uma chave no cabeçalho durante a requisição na API.
  • Ao configurar o escopo, você limita a atuação da Idempotência a um contexto específico.
  • Ao configurar a ação como manual, será necessário definir diretamente no código qual item terá a Idempotência, seja na API ou no Stream.

Exemplo YAML com as configurações da aplicação:
Para exportar as configurações como variável de ambiente e utilizar no Kubernetes execute o comando no Devprime CLI:
dp export kubernetes

1
2
3
4
5
6
- name: devprime_app
  value: "license=Put your license code|||debug=false|||debugstate=false|||debugstream=false
  |||debugweb=false|||tenancy=[enable=false,type=Shared,cache=State2
  ,gateway=https://localhost:5003]
  |||idempotency=[Enable=false,Alias=State2,Duration=86400,
  Flow=backend,key=idempotency-key,Scope=all,Action=auto]"
Última modificação September 1, 2023 (b73775cb)