Configurar um estágio de origem do ponto de extremidade HTTP em um pipeline do processador de dados
Importante
Azure IoT Operations Preview – habilitado pelo Azure Arc está atualmente em visualização. Não deve utilizar este software de pré-visualização em ambientes de produção.
Você precisará implantar uma nova instalação do Azure IoT Operations quando uma versão disponível em geral for disponibilizada, você não poderá atualizar uma instalação de visualização.
Veja Termos de Utilização Complementares da Pré-visualizações do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão na versão beta, na pré-visualização ou que ainda não foram lançadas para disponibilidade geral.
O estágio de origem é o primeiro e necessário estágio em um pipeline de processador de dados. O estágio de origem recebe dados no pipeline de processamento de dados e os prepara para processamento posterior. O estágio de origem do ponto de extremidade HTTP permite ler dados de um ponto de extremidade HTTP em um intervalo definido pelo usuário. O estágio tem um corpo de solicitação opcional e recebe uma resposta do ponto de extremidade.
No estágio de origem, você define:
- Detalhes da conexão com o ponto de extremidade HTTP.
- O intervalo no qual chamar o ponto de extremidade HTTP. O estágio aguarda uma resposta antes de redefinir o temporizador de intervalo.
- Uma configuração de particionamento com base nos seus requisitos específicos de processamento de dados.
Pré-requisitos
- Uma instância implantada do processador de dados que inclui o componente opcional do processador de dados.
- Um ponto de extremidade HTTP com todos os dados brutos necessários disponíveis é operacional e acessível.
Configurar a origem do ponto de extremidade HTTP
Para configurar a origem do ponto de extremidade HTTP:
- Forneça detalhes do ponto de extremidade HTTP. Essa configuração inclui o método, a URL e a carga útil de solicitação a serem usadas.
- Especifique o método de autenticação. Atualmente limitado à autenticação baseada em nome de usuário/senha ou baseada em cabeçalho.
A tabela a seguir descreve os parâmetros de configuração de origem do ponto de extremidade HTTP:
Campo | Tipo | Descrição | Necessário | Predefinição | Exemplo |
---|---|---|---|---|---|
Nome | Cadeia (de carateres) | Um nome visível para o cliente para o estágio de origem. | Necessário | ND | erp-endpoint |
Description | String | Uma descrição visível do estágio de origem visível pelo cliente. | Opcional | ND | Enterprise application data |
Método | Enumeração | O método HTTP a ser usado para as solicitações. Um dos GET ou POST |
Opcional | GET |
GET |
URL | String | O URL a utilizar para os pedidos. Ambos http e https são suportados. |
Necessário | ND | https://contoso.com/some/url/path |
Autenticação | Authentication type | O método de autenticação para a solicitação HTTP. Um de: None , Username/Password , ou Header . |
Opcional | NA |
Username/Password |
Nome de utilizador/Palavra-passe > Nome de utilizador | String | O nome de usuário para a autenticação de nome de usuário/senha | Sim | ND | myuser |
Segredo do nome de utilizador/palavra-passe > | Referência à palavra-passe armazenada no Cofre de Chaves do Azure. | Sim | Sim | AKV_USERNAME_PASSWORD |
|
Chave de cabeçalho > | String | O nome da chave para autenticação baseada em cabeçalho. | Sim | ND | Authorization |
Valor do cabeçalho > | String | O nome da credencial no Cofre da Chave do Azure para autenticação baseada em cabeçalho. | Sim | ND | AKV_PASSWORD |
Formato dos dados | Formato | Formato dos dados recebidos | Necessário | ND | {"type": "json"} |
Corpo da solicitação > de API | String | O corpo da solicitação estática a ser enviada com a solicitação HTTP. | Opcional | ND | {"foo": "bar"} |
Cabeçalhos de solicitação > de API | Pares Chave/Valor | Os cabeçalhos de solicitação estática a serem enviados com a solicitação HTTP. | Opcional | ND | [{"key": {"type":"static", "value": "asset"}, "value": {"type": "static", "value": "asset-id-0"}} ] |
Intervalo de solicitação | Duração | Representação de cadeia de caracteres do tempo de espera antes da próxima chamada de API. | Necessário | 10s |
24h |
Criação de partições | Particionamento | Configuração de particionamento para o estágio de origem. | Necessário | ND | Ver particionamento |
Para saber mais sobre segredos, consulte Gerenciar segredos para sua implantação do Azure IoT Operations Preview.
Selecionar formato de dados
Em um pipeline do processador de dados, o campo de formato no estágio de origem especifica como desserializar os dados de entrada. Por padrão, o pipeline do processador de dados usa o raw
formato que significa que ele não converte os dados de entrada. Para usar muitos recursos do processador de dados, como Filter
estágios ou Enrich
estágios em um pipeline, você deve desserializar seus dados no estágio de entrada. Você pode optar por desserializar seus dados de entrada de , , , CSV
, ou Protobuf
formatos em uma mensagem legível do processador de dados para usar a funcionalidade completa do processador de JSON
dados. CBOR
MessagePack
jsonStream
As tabelas a seguir descrevem as diferentes opções de configuração de desserialização:
Campo | Descrição | Necessário | Predefinição | Value |
---|---|---|---|---|
Formato de Dados | O tipo do formato de dados. | Sim | Raw |
Raw JSON jsonStream MessagePack CBOR CSV Protobuf |
O Data Format
campo é obrigatório e o seu valor determina os outros campos obrigatórios.
Para desserializar mensagens CSV, você também precisa especificar os seguintes campos:
Campo | Descrição | Necessário | valor | Exemplo |
---|---|---|---|---|
Cabeçalho | Se os dados CSV incluem uma linha de cabeçalho. | Sim | Yes No |
No |
Nome | Nome da coluna em CSV | Sim | - | temp , asset |
Caminho | O caminho jq na mensagem onde as informações da coluna são adicionadas. | Não | - | O caminho jq padrão é o nome da coluna |
Tipo de Dados | O tipo de dados dos dados na coluna e como eles são representados dentro do pipeline do processador de dados. | Não | String , Float , Integer , Boolean , Bytes |
Predefinição: String |
Para desserializar mensagens Protobuf, você também precisa especificar os seguintes campos:
Campo | Descrição | Necessário | valor | Exemplo |
---|---|---|---|---|
Descritor | O descritor codificado em base64 para a definição de protobuf. | Sim | - | Zhf... |
Mensagem | O nome do tipo de mensagem usado para formatar os dados. | Sim | - | pipeline |
Pacote | O nome do pacote no descritor onde o tipo é definido. | Sim | - | schedulerv1 |
Nota
O processador de dados suporta apenas um tipo de mensagem em cada arquivo .proto.
Configurar particionamento
O particionamento em um pipeline divide os dados de entrada em partições separadas. O particionamento permite o paralelismo de dados no pipeline, o que pode melhorar a taxa de transferência e reduzir a latência. As estratégias de particionamento afetam a forma como os dados são processados nos outros estágios do pipeline. Por exemplo, o último estágio de valor conhecido e o estágio agregado operam em cada partição lógica.
Para particionar seus dados, especifique uma estratégia de particionamento e o número de partições a serem usadas:
Campo | Descrição | Necessário | Predefinição | Exemplo |
---|---|---|---|---|
Tipo de partição | O tipo de particionamento a ser usado: Partição ID ou Partição Key |
Necessário | ID |
ID |
Expressão de partição | A expressão jq a ser usada na mensagem de entrada para calcular a partição ID ou partição Key |
Necessário | 0 |
.payload.header |
Número de partições | O número de partições em um pipeline do processador de dados. | Necessário | 1 |
1 |
O estágio de origem aplica a expressão de particionamento à mensagem de entrada para calcular a partição ID
ou Key
.
O processador de dados adiciona metadados adicionais à mensagem de entrada. Consulte Visão geral da estrutura de mensagens do processador de dados para entender como especificar corretamente a expressão de particionamento que é executada na mensagem de entrada. Por padrão, a expressão de particionamento é definida como 0
com o tipo Partition para ID
enviar todos os dados de entrada para uma única partição.
Para obter recomendações e saber mais, consulte O que é particionamento?.