gRPC
Descubra mais sobre o componente gRPC e saiba como utilizá-lo na Digibee Integration Platform.
O gRPC permite a realização de chamadas a serviços gRPC do tipo unário e client stream via payload ou via arquivo.
Parâmetros
Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
Authenticate with client certificates
Quando ativado, pode selecionar autenticação de cliente com certificados de cliente (mTLS). Use o tipo de conta Certificate Chain.
False
Booleano
Authenticate with Google Key
Quando ativado, pode selecionar a autenticação do cliente com Google Key. Use o tipo de conta Google Key.
False
Booleano
Method Type
Tipo de método que será utilizado na invocação do serviço. Os tipos de métodos suportados são Unary, Client Stream - via Payload e Client Stream - via File.
Unary
String
URL
Endereço de chamada do serviço gRPC. Ex: localhost:50051.
N/A
String
Headers (DB)
Configura todos os tipos de headers necessários para chamada (ex.: Authorization: Bearer Co4ECg1FeGFtcGxlLnByb3RvIjwKDEh).
N/A
Par de chave-valor
Custom Accounts
Defina a conta a ser usada em expressões com Double Braces.
N/A
String
Service name
Nome do serviço que está descrito dentro do arquivo de configuração .proto do servidor gRPC. Aprenda mais em Informações adicionais sobre parâmetros.
N/A
String
Method Name
Nome do método que está descrito dentro do arquivo de configuração .proto do servidor gRPC. Aprenda mais em Informações adicionais sobre parâmetros.
N/A
String
Proto Descriptor File
Base64 do arquivo “descriptor” do arquivo .proto. Aprenda mais em Informações adicionais sobre parâmetros.
N/A
String (Base64)
Payload (DB)
O payload de requisição que será enviado ao servidor gRPC. Para o tipo de método Unary, deverá ser utlizado um objeto simples que contenha os campos definidos no arquivo .proto. Para o tipo de método Client Stream - via Payload deverá ser utilizado um array de objetos, onde cada item do array é uma mensagem a ser enviada ao servidor gRPC.
N/A
Objeto JSON ou Array
File Name
Nome do arquivo que será usado para enviar o payload no modo Client Stream - via File. Esse arquivo deverá ser um arquivo JSON que contenha um array e, dentro desse array, deve haver as mensagens a serem enviadas ao gRPC server de forma assíncrona (stream).
N/A
String
JSON Path
Expressão JSON Path que irá determinar como será feita a leitura em stream do arquivo JSON. Somente para o tipo de método Client Stream - via File.
N/A
String
Connect Timeout
Tempo de expiração da conexão com o servidor (em milissegundos).
30000
Inteiro
Request Timeout
Tempo de expiração da chamada de requisição do componente com o servidor gRPC (em milissegundos).
30000
Inteiro
Fail On Error
Se a opção estiver ativada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success".
False
Booleano
Informações adicionais sobre parâmetros
Service Name
Veja um exemplo de Service Name como “Greeter”:
Method Name
Veja um exemplo de Method Name como “helloMethod”:
Proto Descriptor File
Para usar esse parâmetro, o “descriptor” deve ser gerado primeiro a partir de um arquivo .proto. Para fazer isso, siga os passos abaixo:
Gere o arquivo "descriptor" executando o seguinte comando no diretório corrente que estiver localizado o arquivo .proto:
Arquivo .proto do diretório: Example.proto
Nome do arquivo descriptor a ser gerado: proto.desc
Faça o download do compilador protoc em Protocol Buffer Compiler Installation.
Realize o encode deste arquivo para base64:
Informe o base64 na propriedade Proto Descriptor File.
Fluxo de mensagens
Entrada
Espera-se um payload de entrada que será utilizado dentro do parâmetro Payload do componente.
Saída
Ao executar um componente SFTP utilizando as operações download, upload ou move, a seguinte estrutura de JSON será gerada:
response: JSON de resposta recebido do serviço gRPC.
success: "true" se houver uma conexão e o script for executado mesmo se retornar erros no stderr.
Saída com erro
success: “false” quando a operação falha.
message: mensagem sobre o erro.
exception: informação sobre o tipo de erro ocorrido.
Para entender melhor o fluxo das mensagens na Plataforma, leia a documentação sobre Processamento de mensagens.
Componente gRPC em ação
Unary
Dado o seguinte arquivo .proto:
Primeiramente, é preciso gerar o arquivo “descriptor”:
Dentro do diretório do arquivo, execute o comando:
Com o “descriptor” em mão, gere o base64 do arquivo proto.desc e adicione-o no campo Proto Descriptor File.
Configurações do componente:
Method Type: Unary
URL: localhost:50051
Service Name: Greeter
Method Name: unary
Proto Descriptor File: <BASE64 DO ARQUIVO DESCRIPTOR GERADO ACIMA>
Payload:
Connect Timeout: 30000
Request Timeout: 30000
Fail On Error: desabilitado
Resposta
Client Stream - via Payload
Dado o arquivo .proto:
Primeiramente, é preciso gerar o arquivo “descriptor”:
Dentro do diretório do arquivo, execute o comando:
Com o “descriptor” em mão, gere o base64 do arquivo proto.desc e adicione-o no campo Proto Descriptor File.
Configurações do componente:
Method Type: Client Stream - via Payload
URL: localhost:50051
Service Name: Greeter
Method Name: clientStream
Proto Descriptor File: <BASE64 DO ARQUIVO DESCRIPTOR GERADO ACIMA>
Payload:
Connect Timeout: 30000
Request Timeout: 30000
Fail On Error: desabilitado
Resposta
Client Stream - via File
Dado o seguinte arquivo .proto:
Primeiramente, é preciso gerar o arquivo “descriptor”:
Dentro do diretório do arquivo, execute o comando:
Com o “descriptor” em mão, gere o base64 do arquivo proto.desc e adicione-o no campo Proto Descriptor File.
Configurações do componente:
Method Type: Client Stream - via Payload
URL: localhost:50051
Service Name: Greeter
Method Name: clientStream
Proto Descriptor File: <BASE64 DO ARQUIVO DESCRIPTOR GERADO ACIMA>
File Name: file.json
File Name: file.json
JSON Path: $.infos[*]
Connect Timeout: 30000
Request Timeout: 30000
Fail On Error: desabilitado
Resposta
Atualizado