Azure Cloud Storage
Azure Cloud Storage est le service de stockage d'objets géré de Microsoft pour les données non structurées, notamment le texte, les fichiers binaires, les supports, les journaux et les sauvegardes d'applications. Il supporte les niveaux d'accès chaud, froid et archive, offre une réplication géoredondante et s'intègre à Microsoft Entra ID (anciennement Azure Active Directory) pour un contrôle d'accès sécurisé.
Qlik Talend Cloud se connecte à Azure Cloud Storage à l'aide d'une application Microsoft Entra ID (principal de service) qui a un accès en lecture sur le conteneur du compte de stockage cible. Le connecteur récupère les fichiers auprès du conteneur spécifié, découvre automatiquement les schémas en échantillonnant le contenu des fichiers et effectue une réplication de données incrémentielle basée sur les horodatages de modification des fichiers.
Préparation pour l'authentification
Pour pouvoir accéder à vos données, vous devez authentifier la connexion à l'aide des identifiants de votre compte.
Pour pouvoir configurer votre compte Azure Cloud Storage, vous avez besoin des éléments suivants :
- Un abonnement Azure avec un compte Azure Storage.
- Un conteneur d'objets blob dans le compte de stockage qui contient les fichiers à répliquer.
- Un enregistrement d'application Microsoft Entra ID avec une clé secrète client.
- Le rôle Storage Blob Data Reader attribué au principal de service de l'application, limité au compte de stockage ou au conteneur spécifique. Il s'agit du rôle ayant le privilège minimal recommandé pour l'accès en lecture seule.
Pour enregistrer une application Microsoft Entra ID et récupérer vos identifiants :
- Connectez-vous à votre compte Azure.
- Accédez à Microsoft Entra ID > App registrations > New registration.
- Saisissez les informations suivantes pour votre application :
- Name : saisissez un nom, par exemple QlikDataIntegration.
- Supported account types : Sélectionnez Accounts in this organizational directory only.
- Cliquez sur Register.
- Sur la page Overview de l'application, copiez l'Application (client) ID et le Directory (tenant) ID, puis enregistrez-les dans un fichier sécurisé.
- Accédez à Certificates & secrets > Client secrets > New client secret.
- Saisissez une description et sélectionnez une période d'expiration pour la clé secrète client.
- Cliquez sur Add.
- Copiez la valeur de votre clé secrète client et enregistrez-la dans un fichier sécurisé.
- Sur le portail Azure, ouvrez votre compte de stockage, puis accédez à Access Control (IAM) > Add > Add role assignment.
- Sélectionnez le rôle Storage Blob Data Reader et attribuez ce rôle à l'application que vous venez d'enregistrer.
- Cliquez sur Save.
Formats de fichier supportés
- Fichiers texte délimités :
.csv,.tsv,.psv,.txt(avec délimiteur configurable) - JSON Lines :
.jsonl - Parquet :
.parquet - Avro :
.avro - Excel :
.xlsx(il est possible d'avoir plusieurs feuilles de calcul par classeur ; les lignes de chaque feuille sont répliquées et le nom de feuille est ajouté à la colonne_sdc_source_file) - Fichiers compressés au format gzip :
.gz(contenant l'un des formats ci-dessus)
Création de la connexion
Pour plus d'informations, consultez Connexion à des applications SaaS.
- Complétez les propriétés de connexion requises.
-
Fournissez un nom pour la connexion dans Nom de la connexion.
-
Sélectionnez Ouvrir les métadonnées de connexion pour définir les métadonnées de la connexion lors de sa création.
-
Cliquez sur Créer.
| Paramètre | Description |
|---|---|
| Data gateway |
Sélectionnez une Passerelle de déplacement des données si cela est nécessaire pour votre cas d'utilisation. Note Informations
Ce champ n'est pas disponible avec l'abonnement Démarreur Qlik Talend Cloud, car il ne supporte pas Passerelle de déplacement des données. Si vous avez un autre niveau d'abonnement et si vous ne souhaitez pas utiliser Passerelle de déplacement des données, sélectionnez Aucune. Pour des informations sur les avantages de Passerelle de déplacement des données et les cas d'utilisation qui la nécessitent, consultez Passerelle de données Qlik - Déplacement des données. |
| Start Date |
Saisissez la date, au format |
| Storage Account Name | Nom du compte de Azure Storage, par exemple mystorageaccount sans https:// ni .blob.core.windows.net. |
| Container Name | Nom du conteneur d'objets blob, par exemple my-container. |
| Tenant ID | ID du client. |
| Tables | La configuration de table détermine les fichiers qui sont lus et la manière dont leur contenu est interprété. Chaque définition de table comprend un modèle de recherche de fichiers, un nom de table et des paramètres facultatifs pour personnaliser la gestion des fichiers. |
| Client ID | ID client. |
| Client Secret | Clé secrète client. |
Configuration des tables
Chaque entrée de la configuration des tables représente une table logique dérivée des fichiers du conteneur. Les propriétés suivantes peuvent être configurées pour chaque table :
| Propriété | Obligatoire ou facultatif | Description |
|---|---|---|
| Table name | Obligatoire | Spécifiez le nom de la table logique (par exemple, my_orders_csv). Cela devient le nom de flux dans Qlik Talend Cloud. |
| Search pattern | Obligatoire | Fournissez une expression régulière correspondant aux noms de fichier (par exemple, .*\.csv$ correspond à tous les fichiers CSV). Appliquez ceci aux noms de fichier du conteneur ou du répertoire spécifié, le cas échéant. |
| Directory | Facultatif | Saisissez un préfixe de chemin d'accès au dossier au sein du conteneur pour affiner la recherche de fichiers (par exemple, exports/orders/). Améliorez les performances en limitant les fichiers analysés. Il ne s'agit pas d'une expression régulière. |
| Primary key | Facultatif | Définissez une liste de noms de colonne séparés par des virgules à utiliser comme clé primaire (par exemple, id ou id,date). Pour les fichiers CSV, utilisez les noms de champ d'en-tête ; pour les fichiers JSONL, utilisez les clés d'objet de niveau supérieur. Laissez vide pour utiliser la réplication de table complète. Renseignez pour activer la réplication incrémentielle basée sur l'heure de modification des fichiers. |
| Specify datetime fields | Facultatif | Répertoriez les noms de colonne, séparés par des virgules, à traiter comme des champs datetime, même s'ils ne sont pas automatiquement détectés lors de la découverte de schéma (par exemple, created_at, updated_at). |
| Delimiter | Facultatif | Indiquez le séparateur de champs des fichiers texte délimités. Par défaut, il s'agit de , (virgule). Utilisez \t pour les fichiers TSV ou | pour les fichiers PSV. S'il n'est pas spécifié, le délimiteur est auto-détecté en fonction de l'extension de fichier. |
- Configurez les fichiers
.jsonlet.csvcomme des tables distinctes pour garantir une gestion de schéma précise et la cohérence des données. - Assurez-vous que tous les fichiers
.csvcorrespondant à un modèle de recherche incluent une ligne d'en-tête cohérente avec des noms de colonne et un ordre de colonnes identiques. - Utilisez des clés d'attribut d'objet cohérentes dans tous les fichiers
.jsonldéfinis pour chaque table. Les noms et structures des clés doivent être alignés pour une détection de schéma fiable.
Tables répliquées
Les tables sont définies dans la configuration des tables que vous fournissez. Chaque table correspond à un ensemble de fichiers dans le conteneur d'objets blob qui correspondent au modèle de recherche spécifié et, le cas échéant, au préfixe de répertoire. Le connecteur découvre le schéma de table en échantillonnant jusqu'à cinq fichiers par table, en lisant une ligne toutes les cinq lignes et en analysant jusqu'à 1 000 enregistrements par fichier.
La réplication utilise une approche incrémentielle basée sur les horodatages de modification des fichiers lorsqu'une clé primaire est configurée. Les fichiers modifiés après le signet de la dernière synchronisation sont traités lors de chaque extraction. Si aucune clé primaire n'est spécifiée, la table toute entière est entièrement répliquée à chaque exécution.
Les colonnes système suivantes sont ajoutées à chaque table par défaut :
| Colonne | Description |
|---|---|
_sdc_source_container
|
Nom du conteneur d'objets blob Azure d'où provient l'enregistrement. |
_sdc_source_file
|
Chemin d'accès complet au fichier contenant l'enregistrement. Pour les fichiers Excel, le nom de feuille est ajouté (par exemple, exports/q1.xlsx/Sheet1). |
_sdc_source_lineno
|
Numéro de ligne de l'enregistrement dans le fichier. |
_sdc_extra
|
Champs supplémentaires analysés qui ne correspondent pas au schéma découvert (fichiers .jsonl uniquement). |
Limitations et considérations générales
- Le nom du compte de stockage est fourni sous forme de nom simple et non d'URL.
- Les fichiers compressés au format gzip (
.gz) sont supportés. Le connecteur lit le nom de fichier original de l'en-tête gzip pour déterminer le format de fichier interne. Les fichiers gzip créés avec--no-name(sans nom de fichier dans l'en-tête) sont ignorés. - Les fichiers portant l'extension
.csv,.txt,.tsv,.psvou.jsonlsont vérifiés, à la recherche d'octets magiques gzip, et sont décompressés en toute transparence, même si le fichier n'a pas d'extension.gz. - La compression imbriquée (par exemple, un fichier
.gzà l'intérieur d'un autre.gz) n'est pas supportée et est ignorée. - Le champ Search pattern utilise la syntaxe des expressions régulières et non les modèles glob (par exemple,
.*\.csv$au lieu de*.csv). - Les fichiers sans extension reconnue sont ignorés et un avertissement est émis.
- Le connecteur inclut une logique de nouvelle tentative intégrée avec un backoff exponentiel pour les limites de débit d'API Azure (HTTP 429) et les erreurs de serveur transitoires (HTTP 500, 502, 503, 504), jusqu'à cinq tentatives.
- L'encodage des fichiers doit être au format UTF-8.