Compartir a través de


Configuración de una fase de origen de InfluxDB v2

Importante

Operaciones de IoT de Azure, habilitado por Azure Arc, está actualmente en VERSIÓN PRELIMINAR. No se debería usar este software en versión preliminar en entornos de producción.

Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.

La fase de origen es la fase primera y necesaria en una canalización del procesador de datos de Azure IoT (versión preliminar). En la fase de origen se introducen los datos en la canalización de procesamiento de datos y se preparan para procesarlos más a fondo. La fase de origen de InfluxDB permite leer datos de una base de datos de InfluxDB v2 en un intervalo definido por el usuario.

En la fase de origen, se definen:

  • Detalles de conexión de InfluxDB v2.
  • El intervalo con el que se va a consultar la base de datos de InfluxDB. La fase espera un resultado antes de restablecer el temporizador de intervalo.
  • Una configuración de creación de particiones basada en los requisitos de procesamiento de datos específicos.

Requisitos previos

  • Una instancia implementada de la versión preliminar del procesador de datos de Azure IoT que incluye el componente opcional del procesador de datos.
  • Una base de datos de InfluxDB con todos los datos sin procesar necesarios es operativa y accesible.

Preparación de la base de datos de Influx

Para conectarse a la base de datos de InfluxDB, debe:

Configuración del origen de InfluxDB

Para configurar el origen de InfluxDB:

  • Proporcione detalles de la base de datos de InfluxDB. Esta configuración incluye el nombre del servidor y una consulta para recuperar los datos.
  • Especifique el método de autenticación. Actualmente, solo puede usar la autenticación de token de acceso.

En la tabla siguiente se describen los parámetros de configuración de origen de I:

El esquema base de la configuración de entrada se compone de:

Campo Tipo Description ¿Necesario? Valor predeterminado Ejemplo
Nombre String Un nombre visible para el cliente de la fase de origen. Obligatorio N/D erp-database
Descripción String Una descripción visible para el cliente de la fase de origen. Opcional N/D Enterprise database
Dirección URL de la base de datos Cadena Dirección URL de la base de datos de InfluxDB https://contoso.com/some/url/path
Puerto de base de datos Entero Puerto de base de datos de InfluxDB No 443 443
Organización Cadena Organización desde la que se va a consultar el cubo test-org test-org
Autenticación Tipo de autenticación El método de autenticación para conectarse al servidor. Solo admite el tipo accessToken. {"type": "accessToken"} {"type": "accessToken"}
Secreto Cadena Referencia al token almacenado en Azure Key Vault. AKV_ACCESS_TOKEN
Consulta de flux Cadena Consulta de InfluxDB {"expression": 'from(bucket:"test-bucket")\|> range(start: -1h) \|> filter(fn: (r) => r._measurement == "stat")'}
Intervalo de consulta Duration Representación de la cadena del tiempo de espera antes de la siguiente llamada API. 24h
Formato de datos Formato La fase aplica el formato a filas individuales recuperadas por la consulta. Solo se admite el formato json. No se admite el path de nivel superior. {"type": "json"}
Partitioning Partitioning Configuración de la creación de particiones para la fase de origen. Obligatorio N/D Consulte Creación de particiones.

Configuración de particiones

La creación de particiones en una canalización divide los datos entrantes en distintas particiones. La creación de particiones permite el paralelismo de datos en la canalización, lo que puede mejorar el rendimiento y reducir la latencia. Las estrategias de creación de particiones afectan a cómo se procesan los datos en las otras fases de la canalización. Por ejemplo, la última fase de valor conocida y la fase de agregado funcionan en cada partición lógica.

Para particionar los datos, especifique una estrategia de creación de particiones y el número de particiones que se usarán:

Campo Descripción Necesario Valor predeterminado Ejemplo
Tipo de partición El tipo de creación de particiones que se usará: partición ID o partición Key Obligatorio ID ID
Expresión de partición La expresión jq que se usará en el mensaje entrante para calcular la partición ID o la partición Key Obligatorio 0 .payload.header
Número de particiones El número de particiones en una canalización del procesador de datos. Obligatorio 1 1

El procesador de datos agrega metadatos al mensaje entrante. Consulte Introducción a la estructura de mensajes del procesador de datos para reconocer cómo especificar correctamente la expresión de creación de particiones que se ejecuta en el mensaje entrante. De manera predeterminada, la expresión de creación de particiones se establece en 0 con el Tipo de partición como ID para enviar todos los datos entrantes a una sola partición.

Para obtener recomendaciones y más información, consulte ¿Qué es la creación de particiones?.

Configuración de ejemplo

En el ejemplo JSON siguiente, se muestra una configuración completa de fase de origen de InfluxDB:

{
  "displayName": "InfluxDB v2 - ec8750",
  "type": "input/influxdbv2@v1",
  "query": {
    "expression": "from(bucket:\\\"test-bucket\\\") |> range(start: -1h) |> filter(fn: (r) => r._measurement == \\\"stat\\\")"
  },
  "url": "https://contoso.com/some/url/path",
  "interval": "5s",
  "port": 443,
  "organization": "test-org",
  "format": {
    "type": "json"
  },
  "partitionCount": 1,
  "partitionStrategy": {
    "type": "id",
    "expression": "0"
  },
  "authentication": {
    "type": "accessToken",
    "accessToken": "AKV_ACCESS_TOKEN"
  },
  "description": "Example InfluxDB source stage"
}