Partager via


Configurer une étape source InfluxDB v2

Important

Opérations Azure IoT (préversion) – activé parc Azure Arc est actuellement en PRÉVERSION. Vous ne devez pas utiliser ce logiciel en préversion dans des environnements de production.

Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.

L’index source est la première étape requise dans un pipeline de processeur de données Azure IoT (préversion). L’index source obtient des données dans le pipeline de traitement des données et la prépare pour un traitement ultérieur. L’étape source d’InfluxDB vous permet de lire des données d’une base de données InfluxDB v2 à un intervalle défini par l’utilisateur.

Dans l’index source, vous définissez :

  • Informations de connexion pour InfluxDB v2.
  • Intervalle auquel interroger la base de données InfluxDB. L’index attend une réponse avant de réinitialiser le minuteur d’intervalle.
  • Configuration de partitionnement basée sur vos besoins spécifiques en matière de traitement des données.

Prérequis

  • Une instance déployée d’Azure IoT Data Processor (préversion) qui inclut le composant Data Processor facultatif.
  • Une base de données InfluxDB avec toutes les données brutes nécessaires est opérationnelle et accessible.

Préparer la base de données Influx

Pour vous connecter à la base de données InfluxDB, vous devez :

Configurer la source InfluxDB

Pour configurer la source InfluxDB :

  • Fournissez des détails sur la base de données InfluxDB. Cette configuration inclut le nom du serveur et une requête pour récupérer les données.
  • Spécifiez la méthode d'authentification. Vous ne pouvez actuellement utiliser que l’authentification par jeton d’accès.

Le tableau suivant décrit les paramètres de configuration source InfluxDB :

Le schéma de base de la configuration d’entrée est constitué des éléments suivants :

Champ Type Description Requis ? Par défaut Exemple
Nom Chaîne Nom visible par le client pour l’étape source. Requis NA erp-database
Description Chaîne Description visible par le client de l’étape source. Facultatif NA Enterprise database
DATABASE_URL Chaîne URL de la base de données InfluxDB Oui https://contoso.com/some/url/path
Port de base de données Entier Le port de base de données InfluxDB Non 443 443
Organization Chaîne Organisation qui contient le compartiment à interroger à partir de Oui test-org test-org
Authentification Type d'authentification Méthode d’authentification pour la connexion au serveur. Prend uniquement en charge le type accessToken. Oui {"type": "accessToken"} {"type": "accessToken"}
Secret Chaîne Référence au jeton stocké dans Azure Key Vault. Oui Oui AKV_ACCESS_TOKEN
Requête de flux Chaîne Requête InfluxDB Oui {"expression": 'from(bucket:"test-bucket")\|> range(start: -1h) \|> filter(fn: (r) => r._measurement == "stat")'}
Intervalle entre les requêtes Durée Représentation sous forme de chaîne du temps d’attente avant l’appel d’API suivant. Oui 24h
Format de données Format La phase applique le format aux lignes individuelles récupérées par la requête. Seul le format json est pris en charge. Le niveau supérieur path n’est pas pris en charge. Oui {"type": "json"}
Partitionnement Partitionnement Configuration du partitionnement pour l’étape source. Requis NA Consultez Partitionnement

Configurer le partitionnement

Le partitionnement dans un pipeline divise les données entrantes en partitions distinctes. Le partitionnement permet le parallélisme des données dans le pipeline, ce qui peut améliorer le débit et réduire la latence. Les stratégies de partitionnement affectent la façon dont les données sont traitées dans les autres étapes du pipeline. Par exemple, la dernière étape de valeur connue et l’étape d’agrégation fonctionnent sur chaque partition logique.

Pour partitionner vos données, spécifiez une stratégie de partitionnement et le nombre de partitions à utiliser :

Champ Description Obligatoire Par défaut Exemple
Type de partition Type de partitionnement à utiliser : partition ID ou partition Key Requis ID ID
Expression de partition L’expression jq à utiliser sur le message entrant pour calculer la partition ID ou la partition Key Requis 0 .payload.header
Nombre de partitions Nombre de partitions dans un pipeline de processeur de données. Requis 1 1

Le processeur de données ajoute des métadonnées au message entrant. Pour comprendre comment spécifier correctement l’expression de partitionnement qui s’exécute sur le message entrant, consultez vue d’ensemble de la structure des messages du processeur de données. Par défaut, l’expression de partitionnement est définie sur 0 avec le Type de partition sur ID pour envoyer toutes les données entrantes à une seule partition.

Pour obtenir des suggestions et en savoir plus, consultez Qu’est-ce que le partitionnement ?.

Exemple de configuration

L’exemple JSON suivant montre une configuration complète de phase source 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"
}