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)
.
Parâmetro | Descrição | Valor padrão | Tipo de dado |
---|---|---|---|
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 | 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 | 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