Chame um ponto de extremidade gRPC de um pipeline da Versão Prévia do Processador de Dados da Internet das Coisas do Azure
Importante
O recurso Pré-visualização de Operações do Azure IoT — habilitado pelo Azure Arc — está atualmente em VERSÃO PRÉVIA. Você não deve usar esse software em versão prévia em ambientes de produção.
Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.
Use o estágio de chamada gRPC para chamar um gRPC externo com um corpo da solicitação opcional e receber uma resposta opcional. A fase de chamada permite incorporar a lógica de processamento de dados personalizada, como a execução de modelos de machine learning, no processamento do pipeline.
- Cada partição em um pipeline executa independentemente as chamadas à API em paralelo.
- As chamadas à API são síncronas, o estágio aguarda o retorno da chamada antes de continuar com o processamento de pipeline adicional.
- Atualmente, o estágio dá suporte apenas ao tipo RPC unário.
- A chamada gRPC só pode ser usada com o formato Protobuf. Você deve usar o Protobuf com o estágio de chamada gRPC.
Pré-requisitos
Para configurar e usar um estágio de pipeline de chamada gRPC, você precisa de:
- Uma instância implantada da Versão Prévia do Processador de Dados da Internet das Coisas do Azure.
- Um servidor gRPC acessível na instância do Processador de Dados.
- A ferramenta
protoc
para gerar o descritor.
Configurar um estágio de chamada gRPC
A configuração JSON do estágio de chamada gRPC define os detalhes do estágio. Para criar o estágio, você pode interagir com a interface do usuário baseada em formulário ou fornecer a configuração JSON na guia Avançado.
Nome | Tipo | Descrição | Obrigatório | Padrão | Exemplo |
---|---|---|---|---|---|
Nome | string | Um nome a ser mostrado na interface do usuário do Processador de Dados. | Sim | - | MLCall2 |
Descrição | string | Uma descrição amigável do que o estágio de chamada faz. | Não | Call ML endpoint 2 |
|
Server address | string | O endereço do servidor gRPC. | Sim | - | https://localhost:1313 |
O nome do RPC | string | O nome do RPC a ser chamado | Sim | - | GetInsights |
Descritor1 | string | O descritor codificado em base 64. | Sim | - | CuIFChxnb29nb |
Autenticação | string | O tipo de autenticação a ser usado. None /Metadata . |
Sim | None |
None |
A chave de metadados | string | A chave de metadados a ser usada quando a Authentication for definida como Metadata . |
Não | authorization |
authorization |
Segredo | string | A referência do segredo a ser usada quando a Authentication for definida como Metadata . |
Não | - | mysecret |
Habilitar o TLS | boolean | Se o TLS deve ser habilitado. Atualmente, o Processador de Dados dá suporte à autenticação baseada em TLS com certificado público. | Não | false |
true |
Solicitação da API > Caminho do corpo | Caminho | O caminho para a parte da mensagem do Processador de Dados que deve ser serializada e definida como o corpo da solicitação. Deixe vazio se você não precisar enviar um corpo da solicitação. | Não | - | .payload.gRPCRequest |
Solicitação da API > Metadados > Chave2 | Campo Estático/Dinâmico | A chave dos metadados a ser definida na solicitação. | Não | Campo Estático/Dinâmico | |
Solicitação da API > Metadados > Valor2 | Campo Estático/Dinâmico | O valor dos metadados a ser definido na solicitação. | Não | Campo Estático/Dinâmico | |
Resposta da API > Caminho do corpo | Caminho | O Caminho para a propriedade na mensagem de saída na qual armazenar a resposta. Deixe vazio se você não precisar do corpo da resposta. | Não | - | .payload.gRPCResponse |
Resposta da API > Metadados | Caminho | O Caminho para a propriedade na mensagem de saída na qual armazenar os metadados da resposta. Deixe vazio se você não precisar dos metadados da resposta. | Não | - | .payload.gRPCResponseHeader |
Resposta da API > Status | Caminho | O Caminho para a propriedade na mensagem de saída na qual armazenar o status da resposta. Deixe vazio se você não precisar do status da resposta. | Não | - | .payload.gRPCResponseStatus |
1Descritor: Como o estágio de chamada gRPC suporta apenas o formato protobuf, você usa as mesmas definições de formato para solicitação e resposta. Para serializar o corpo da solicitação e desserializar o corpo da resposta, você precisa de um descritor codificado em base 64 do arquivo .proto.
Use o seguinte comando para gerar o descritor, substitua <proto-file>
pelo nome do arquivo .proto:
protoc --descriptor_set_out=/dev/stdout --include_imports <proto-file> | base64 | tr '\n' ' ' | sed 's/[[:space:]]//g'
Use a saída do comando anterior como o descriptor
na configuração.
2Solicitação de API > Metadados: cada elemento da matriz de metadados é um par chave-valor. Você pode definir a chave ou o valor dinamicamente com base no conteúdo da mensagem de entrada ou como uma cadeia de caracteres estática.