Services

O adapter de services facilita a integração com serviços externos HTTP, gRPC, GraphQL além de integração com API’s seguras e suporte aos recursos de Retry e CircuitBreak.

O parâmetro “connections” define as configurações das credenciais necessárias para acessar uma API protegida por exemplo pelo KeyCloak ou Auth0.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
"Devprime_Services": {
   "Timeout": "10",
   "CircuitBreak": "45",
   "Retry": "3",
   "connections": [
   {
      "Timeout": "10",
      "Name": "Service1",
      "TokenUri": "Put your provider url",
      "ClientId": "Put ClientId",
      "ClientSecret": "Put client secret",
      "GrantType": "client_credentials",
      "Audience": "Audience"
   }
   ]
},

A tabela abaixo detalha os parâmetros de configuração e as conexões personalizadas do Adapter de Services, que pode, por exemplo, acessar uma API externa que requer autenticação em um provedor de identidade para segurança no acesso.

Services
Timeout Configura o tempo para falhar por timeout
CircuitBreak Configura a duração do CircuitBreak
Retry Configura a quantidade de tentativas no caso de timeout
Connections
Name Define um identificador único para essa conexão
Timeout Define um timeout personalizado
TokenUri Configura a URL do provedor de identidade
ClientId Configura o ClientId
ClientSecret Configura a senha
GrantType Define o tipo de “Grant”, por exemplo, “client_credentials”
Audience Define a audiência, por exemplo, “Audience”

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
- name: DevPrime_Services
   value: "retry=3|||circuitbreak=45|||timeout=10|||connections=
   [audience=Audience,clientid=Put ClientId,
   clientsecret=Put client secret, granttype=client_credentials,
   name=Service1,timeout=10,tokenuri=Put your provider url]"

Explorar exemplos de implementação:

Última modificação September 2, 2023 (ad464856)