Configurer SFTP dans une activité de copie
Cet article explique comment utiliser l’activité de copie dans un pipeline de données pour copier des données depuis SFTP.
Format pris en charge
SFTP prend en charge les formats de fichier suivants. Reportez-vous à chaque article pour les paramètres basés sur le format.
- Format Avro
- Format binaire
- Format de texte délimité
- Format Excel
- Format JSON
- Format ORC
- Format Parquet
- Format XML
Configuration prise en charge
Pour la configuration de chaque onglet sous l’activité de copie, accédez respectivement aux sections suivantes.
Général
Reportez-vous aux instructions relatives aux paramètres Général pour configurer l’onglet Paramètres Général .
Source
Accédez à l’onglet Source pour configurer votre source d’activité de copie. Consultez le contenu suivant pour obtenir la configuration détaillée.
Les trois propriétés suivantes sont requises :
Type de magasin de données : sélectionnez Externe.
Connexion : sélectionnez une connexion SFTP dans la liste des connexions. Si aucune connexion n’existe, créez une connexion SFTP en sélectionnant Nouveau.
Type de chemin d’accès au fichier : dans Chemin d’accès au fichier, sélectionnez Chemin d’accès au fichier générique et Liste des fichiers en fonction de la façon dont vous souhaitez lire les fichiers.
Chemin d’accès au fichier : si vous choisissez ce type, spécifiez le chemin d’accès de votre fichier source. Vous pouvez sélectionner Parcourir pour sélectionner vos fichiers sources ou entrer manuellement le chemin d’accès à votre fichier.
Chemin d’accès au fichier générique : si vous choisissez ce type, spécifiez les chemins d’accès génériques pour filtrer vos dossiers ou fichiers sources.
Les caractères génériques autorisés sont les suivants :
*
(correspond à zéro ou plusieurs caractères) et?
(correspond à zéro ou un caractère). Utilisez^
comme caractère d’échappement si le nom de votre dossier contient un caractère générique ou ce caractère d’échappement. Pour d’autres exemples, accédez à Exemples de filtres de dossier et de fichier.Chemin d’accès au dossier générique : spécifiez le chemin d’accès au dossier avec des caractères génériques pour filtrer les dossiers sources.
Nom de fichier à caractères génériques : spécifiez le nom de fichier avec des caractères génériques sous le chemin d’accès au dossier donné ou le chemin d’accès au dossier générique pour filtrer les fichiers sources.
Liste de fichiers : si vous sélectionnez ce type, spécifiez le chemin d’accès au dossier et le Chemin d’accès à la liste de fichiers pour indiquer de copier un jeu de fichiers donné. Pointez vers un fichier texte contenant la liste des fichiers que vous voulez copier. Pour plus d’exemples, accédez à Exemples de listes de fichiers.
Chemin d’accès au dossier : spécifiez le chemin d’accès à votre dossier source. Elle est obligatoire.
Chemin d’accès à la liste de fichiers : spécifiez le chemin d’accès du fichier texte qui comprend une liste de fichiers que vous souhaitez copier.
Format de fichier : sélectionnez le format de fichier appliqué dans la liste déroulante. Sélectionnez Paramètres pour configurer le format de fichier. Pour connaître les paramètres des différents formats de fichier, reportez-vous aux articles de Format pris en charge pour plus d’informations.
Sous Avancé, vous pouvez spécifier les champs suivants :
Filtrer par dernière modification : les fichiers sont filtrés en fonction des dates de dernière modification que vous avez spécifiées. Cette propriété ne s’applique pas lorsque vous configurez votre type de chemin d’accès de fichier en tant que Liste de fichiers.
- Heure de début (UTC) : les fichiers sont sélectionnés si leur dernière heure de modification est supérieure ou égale à l’heure configurée.
- Heure de fin (UTC) : les fichiers sont sélectionnés si leur heure de dernière modification est inférieure à l’heure configurée.
Lorsque Heure de début (UTC) a une valeur DateHeure, mais que Heure de fin (UTC) est NULL, cela signifie que les fichiers dont l’attribut de dernière modification est supérieur ou égal à la valeur DateHeure sont sélectionnés. Lorsque Heure de fin (UTC) a une valeur DateHeure, mais que Heure de début (UTC) est NULL, cela signifie que les fichiers dont l’attribut de dernière modification est inférieur à la valeur DateHeure sont sélectionnés. Les propriétés peuvent avoir la valeur NULL, ce qui a pour effet qu’aucun filtre d’attribut de fichier n’est appliqué au jeu de données.
Désactiver la segmentation : la segmentation est conçue pour optimiser les performances et se produit en dessous. Cette option vous permet de désactiver la segmentation dans chaque fichier. Lors de la copie des données à partir de SFTP, le service tente d’abord d’obtenir la longueur du fichier, puis de le diviser en plusieurs parties et de les lire en parallèle. Spécifiez si votre serveur SFTP prend en charge l’obtention de la longueur du fichier ou la lecture à partir d’un décalage donné. L’option est non sélectionnée par défaut.
Activer la détection de partition : spécifiez s’il faut analyser les partitions à partir du chemin d’accès au fichier et les ajouter en tant que colonnes sources supplémentaires. L’option n’est pas sélectionnée par défaut et n’est pas prise en charge lorsque vous utilisez le format de fichier binaire.
Chemin d'accès à la racine de la partition : Lorsque la découverte de partition est activée, spécifiez le chemin racine absolu pour pouvoir lire les dossiers partitionnés en tant que colonnes de données.
S’il n’est pas spécifié, par défaut :- Quand vous utilisez le chemin d’accès au fichier ou la liste des fichiers sur la source, le chemin racine de la partition est le chemin que vous avez configuré.
- Quand vous utilisez le filtre de dossiers génériques, le chemin racine de la partition est le sous-chemin avant le premier caractère générique.
Par exemple, en supposant que vous configurez le chemin ainsi
root/folder/year=2020/month=08/day=27
:- Si vous spécifiez le chemin racine de la partition en tant que
root/folder/year=2020
, l’activité de copie génère deux colonnes supplémentaires, mois et jour, ayant respectivement la valeur « 08 » et « 27 », en plus des colonnes contenues dans les fichiers. - Si le chemin racine de la partition n’est pas spécifié, aucune colonne supplémentaire n’est générée.
Nombre maximal de connexions simultanées : cette propriété indique la limite supérieure de connexions simultanées établies au magasin de données pendant l’exécution de l’activité. Spécifiez une valeur uniquement lorsque vous souhaitez limiter les connexions simultanées.
Colonnes supplémentaires : ajoutez des colonnes de données supplémentaires au chemin d’accès relatif ou à la valeur statique des fichiers sources du magasin. L’expression est prise en charge pour ce dernier. Pour plus d’informations, accédez à Ajouter des colonnes supplémentaires pendant la copie.
Destination
Accédez à l’onglet Destination pour configurer la destination de votre activité de copie. Consultez le contenu suivant pour obtenir la configuration détaillée.
- Type de magasin de données : sélectionnez Externe.
- Connexion : sélectionnez une connexion SFTP dans la liste des connexions. Si aucune connexion n’existe, créez une connexion SFTP en sélectionnant Nouveau.
- Chemin d’accès au fichier : spécifiez le chemin d’accès au fichier dans lequel écrire vos données. Vous pouvez sélectionner Parcourir pour sélectionner vos fichiers sources ou entrer manuellement le chemin d’accès à votre fichier.
- Format de fichier : sélectionnez le format de fichier appliqué dans la liste déroulante. Sélectionnez Paramètres pour configurer le format de fichier. Pour connaître les paramètres des différents formats de fichier, reportez-vous aux articles de Format pris en charge pour plus d’informations.
Sous Avancé, vous pouvez spécifier les champs suivants :
Comportement de copie : spécifiez le comportement de copie lorsque la source est constituée de fichiers d’une banque de données basée sur un fichier. Choisissez parmi les propriétés suivantes.
- Égaliser la hiérarchie : tous les fichiers du dossier source figurent dans le premier niveau du dossier cible. Les noms des fichiers cibles sont générés automatiquement.
- Fusionner des fichiers : fusionne tous les fichiers du dossier source dans un seul fichier. Si le nom de fichier est spécifié, le nom de fichier fusionné est le nom spécifié. Sinon, le nom du fichier sera généré automatiquement.
- Conserver la hiérarchie (par défaut) : conserve la hiérarchie des fichiers dans le dossier cible. Le chemin relatif du fichier source vers le dossier source est identique au chemin relatif du fichier cible vers le dossier cible.
- Ajouter du contenu dynamique : sélectionnez cette option pour spécifier votre comportement de copie à l’aide de contenu dynamique.
Nombre maximal de connexions simultanées : la limite supérieure de connexions simultanées établies au magasin de données pendant l’exécution de l’activité. Spécifiez une valeur uniquement lorsque vous souhaitez limiter les connexions simultanées.
Délai d’expiration de l’opération (minutes) : spécifiez le délai d’expiration pour l’écriture de chaque bloc sur le serveur SFTP. La valeur par défaut est de 60 minutes.
Charger un fichier temporaire : indiquez si vous souhaitez effectuer un chargement dans des fichiers temporaires puis les renommer, ou si vous souhaitez écrire directement dans l’emplacement de dossier ou de fichier cible. L’option est sélectionnée par défaut et le service écrit d’abord dans des fichiers temporaires, puis les renomme une fois le chargement terminé.
Cette séquence permet (1) d’éviter les conflits susceptibles d’entraîner l’altération d’un fichier si d’autres processus écrivent dans le même fichier, et (2) de garantir l’existence de la version d’origine du fichier pendant le transfert. Si votre serveur SFTP ne prend pas en charge l’opération de renommage, désactivez cette option et vérifiez qu’aucun autre processus d’écriture n’est en cours sur le fichier cible.
Conseil
Si vous recevez l’erreur « UserErrorSftpPathNotFound », « UserErrorSftpPermissionDenied » ou « SftpOperationFail » lorsque vous écrivez des données dans SFTP et que l’utilisateur SFTP que vous utilisez dispose des autorisations appropriées, vérifiez que l’opération de renommage du fichier de prise en charge de votre serveur SFTP fonctionne. Si ce n’est pas le cas, désactivez l’option Charger un fichier temporaire et réessayez.
Mappage
Pour la configuration de l’onglet Mappage, consultez Configurer vos mappages sous l’onglet Mappage. Si vous choisissez Binaire comme format de fichier, le mappage n’est pas pris en charge.
Paramètres
Pour la configuration de l’onglet Paramètres, accédez à Configurer vos autres paramètres sous l’onglet Paramètres.
Résumé du tableau
Le tableau suivant contient plus d’informations sur l’activité de copie dans SFTP.
Source
Nom | Description | Valeur | Obligatoire | Propriété de script JSON |
---|---|---|---|---|
Type de banque de données | Votre type de magasin de données. | Externe | Oui | / |
Connection | Votre connexion SFTP au magasin de données source. | < votre connexion SFTP > | Oui | connection |
Type de chemin d’accès au fichier | Type de chemin d’accès au fichier utilisé pour obtenir les données sources. | • Chemin d’accès au fichier • Chemin d’accès au fichier générique • Liste de fichiers |
Oui | / |
Chemin de fichier | Chemin d'accès au fichier source. | < chemin d’accès au fichier> | Oui | fileName folderPath |
Chemins avec des caractères génériques | Chemin d’accès générique au fichier source. | <Chemin d’accès au fichier générique> | Oui pour Nom de fichier générique | wildcardFolderPath wildcardFileName |
Chemin d’accès du dossier | Chemin d’accès à votre dossier source. | < le chemin d'accès à votre dossier> | Oui | folderPath |
Chemin d’accès à la liste des fichiers | Indique de copier un ensemble de fichiers donné. Pointez vers un fichier texte contenant la liste des fichiers que vous voulez copier. | < chemin d’accès à la liste de fichiers > | Non | fileListPath |
Format de fichier | Format de fichier pour vos données sources. Pour plus d’informations sur les différents formats de fichier, reportez-vous aux articles de Format pris en charge. | / | Oui | / |
Filtrer par date de dernière modification | Les fichiers dont l’heure de la dernière modification se trouve dans la plage [Heure de début, Heure de fin) seront filtrés pour un traitement ultérieur. L’heure sera appliquée au fuseau horaire UTC au format yyyy-mm-ddThh:mm:ss.fffZ . Ces propriétés peuvent être ignorées, ce qui signifie qu’aucun filtre d’attribut de fichier n’est appliqué. Cette propriété ne s’applique pas lorsque vous configurez votre type de chemin d’accès de fichier en tant que Liste de fichiers. |
datetime | Non | modifiedDatetimeStart modifiedDatetimeEnd |
Désactiver la segmentation | La segmentation est conçue pour optimiser les performances et se produit en dessous. Cette option vous permet de désactiver la segmentation dans chaque fichier. Lors de la copie des données à partir de SFTP, le service tente d’abord d’obtenir la longueur du fichier, puis de le diviser en plusieurs parties et de les lire en parallèle. Spécifiez si votre serveur SFTP prend en charge l’obtention de la longueur du fichier ou la lecture à partir d’un décalage donné. | sélectionné ou non sélectionné (par défaut) | Non | disableChunking: true ou false (par défaut) |
Activer la découverte de partition | Indique s'il faut analyser les partitions à partir du chemin d'accès au fichier et les ajouter en tant que colonnes sources supplémentaires. | sélectionné ou non sélectionné (par défaut) | Non | enablePartitionDiscovery : true ou false (par défaut) |
Chemin racine de la partition | Chemin d’accès racine de la partition absolu pour lire les dossiers partitionnés sous forme de colonnes de données. Spécifiez-le lorsque la détection de partitions est activée. | < chemin racine de la partition > | Non | partitionRootPath |
Connexions simultanées maximales | La limite supérieure de connexions simultanées établies au magasin de données pendant l’exécution de l’activité. Spécifiez une valeur uniquement lorsque vous souhaitez limiter les connexions simultanées. | < limite supérieure de connexions simultanées > (entier) |
Non | maxConcurrentConnections |
Colonnes supplémentaires | Ajouter les colonnes de données supplémentaires pour stocker le chemin d’accès relatif ou la valeur statique des fichiers sources. L’expression est prise en charge pour ce dernier. Pour plus d’informations, accédez à Ajouter des colonnes supplémentaires pendant la copie | • Name • Valeur |
Non | additionalColumns : • nom • valeur |
Destination
Nom | Description | Valeur | Obligatoire | Propriété de script JSON |
---|---|---|---|---|
Type de banque de données | Votre type de magasin de données. | Externe | Oui | / |
Connection | Votre connexion au SFTP source. | < votre connexion > | Oui | connection |
Chemin de fichier | Chemin d’accès au fichier de vos données de destination. | Chemin d’accès au fichier de la destination | Oui | folderPath fileName |
Format de fichier | Format de fichier pour vos données sources. Pour plus d’informations sur les différents formats de fichier, reportez-vous aux articles de Format pris en charge. | / | Oui | / |
Comportement de copie | Définit le comportement de copie lorsque la source est constituée de fichiers d’une banque de données basée sur un fichier. | • Aplatir la hiérarchie • Fusionner des fichiers • Conserver la hiérarchie |
Non | copyBehavior : – FlattenHierarchy – MergeFiles – PreserveHierarchy |
Connexions simultanées maximales | La limite supérieure de connexions simultanées établies au magasin de données pendant l’exécution de l’activité. Spécifiez une valeur uniquement lorsque vous souhaitez limiter les connexions simultanées. | <connexions simultanées maximales> | Non | maxConcurrentConnections |
Délai de l’opération (en minutes) | Délai d’attente pour l’écriture de chaque bloc sur le serveur SFTP. | < délai de votre opération > La valeur par défaut est 60 |
Non | operationTimeout |
Charger avec un fichier temporaire | Indique s’il faut charger le ou les fichiers temporaires et les renommer. Désactivez cette option si votre serveur SFTP ne prend pas en charge l’opération de renommage. | sélectionné (par défaut) ou non sélectionné | Non | useTempFileRename : true (valeur par défaut) ou false |