SFTP
Le connecteur SFTP vous permet de vous connecter à un serveur SFTP et d'effectuer des opérations de transfert de fichiers.
Avant de commencer
Dans votre projet Google Cloud, effectuez les tâches suivantes :
- Assurez-vous que la connectivité réseau est configurée. Pour en savoir plus, consultez Connectivité réseau.
- Attribuez le rôle IAM roles/connectors.admin à l'utilisateur qui configure le connecteur.
- Attribuez les rôles IAM
roles/secretmanager.viewer
etroles/secretmanager.secretAccessor
au compte de service que vous souhaitez utiliser pour le connecteur. Si vous ne possédez pas de compte de service, vous devez en créer un. Le connecteur et le compte de service doivent appartenir au même projet. - Activez
secretmanager.googleapis.com
(API Secret Manager) etconnectors.googleapis.com
(API Connectors). Pour en savoir plus, consultez Activer des services.
Créer une connexion SFTP
Une connexion est propre à une source de données. Cela signifie que si vous disposez de nombreuses sources de données, vous devez créer une connexion distincte pour chacune d'elles. Pour créer une connexion, procédez comme suit :
- Dans la console Cloud, accédez à la page Connecteurs d'intégration > Connexions, puis sélectionnez ou créez un projet Google Cloud.
- Cliquez sur + Créer pour ouvrir la page Créer une connexion.
- Dans la section Emplacement, sélectionnez un emplacement dans la liste Région, puis cliquez sur Suivant.
Pour obtenir la liste de toutes les régions disponibles, consultez Emplacements.
- Dans la section Détails de connexion, procédez comme suit :
- Dans le champ Connecteur, sélectionnez SFTP.
- Dans le champ Version du connecteur, sélectionnez la version souhaitée.
- Dans le champ Nom de connexion, indiquez le nom de l'instance de connexion. Le nom de la connexion peut contenir des lettres minuscules, des chiffres ou des traits d'union. Il doit commencer par une lettre et se terminer par une lettre ou un chiffre. Il ne doit pas dépasser 49 caractères.
- (Facultatif) Saisissez une description de l'instance de connexion.
- (Facultatif) Activez Cloud Logging, puis sélectionnez un niveau de journalisation. Par défaut, le niveau de journalisation est défini sur
Error
. - Dans le champ Compte de service, sélectionnez un compte disposant des rôles requis.
- (Facultatif) Configurez les paramètres de nœuds de connexion.
- Nombre minimal de nœuds : saisissez le nombre minimal de nœuds de connexion.
- Nombre maximal de nœuds : saisissez le nombre maximal de nœuds de connexion.
- (Facultatif) Dans le champ Chemin d'accès à distance, saisissez le chemin d'accès au dossier sur le serveur SFTP pour effectuer les opérations sur les entités, par exemple
List
,Create
,Update
ouDelete
. - (Facultatif) Cliquez sur + Ajouter une étiquette pour ajouter une étiquette à la connexion sous la forme d'une paire clé/valeur.
- Cliquez sur Suivant.
Un nœud est une unité (ou instance répliquée) de connexion qui traite des transactions. Pour traiter davantage de transactions pour une connexion, vous devez disposer de plus de nœuds. À l'inverse, moins de nœuds sont nécessaires si une connexion traite moins de transactions. Pour comprendre comment les nœuds affectent la tarification de votre connecteur, consultez Tarifs des nœuds de connexion. Si vous ne saisissez aucune valeur, le nombre minimal de nœuds est défini par défaut sur 2 (pour une meilleure disponibilité) et le nombre maximal sur 50.
Si vous accédez à des entités (fichiers ou dossiers) dans le dossier racine, ou dans les dossiers enfants situés immédiatement après le niveau racine, vous n'avez pas besoin de définir de valeur pour ce champ. Toutefois, si vous souhaitez accéder à des entités imbriquées situées à deux niveaux ou plus du dossier racine, vous devez définir la valeur de ce champ sur le chemin de base du dossier contenant les entités auxquelles vous souhaitez accéder. Par exemple, si vous souhaitez accéder au fichier
/folder_A/folder_B/folder_C/test.png
, vous devez définir le chemin d'accès distant sur/folder_A/folder_B/folder_C
. - Dans la section Destinations, saisissez les informations concernant l'hôte distant (système backend) auquel vous souhaitez vous connecter, puis cliquez sur Suivant.
- Pour spécifier le nom d'hôte ou l'adresse IP de la destination, sélectionnez Adresse de l'hôte, puis saisissez l'adresse dans le champ Hôte 1.
- Pour établir une connexion privée, sélectionnez Rattachement de point de terminaison, puis choisissez le rattachement requis dans la liste Rattachement de point de terminaison.
-
Dans la section Authentification, sélectionnez un type d'authentification, saisissez les informations appropriées, puis cliquez sur Suivant.
Les types d'authentification suivants sont compatibles avec la connexion SFTP :
- Nom d'utilisateur et mot de passe
- SSH_PUBLIC_KEY
Pour comprendre comment configurer ces types d'authentification, consultez Configurer l'authentification.
- Vérifiez les informations de connexion et d'authentification, puis cliquez sur Créer.
Dans le champ Type de destination, sélectionnez le type souhaité :
Si vous souhaitez établir une connexion publique à vos systèmes backend avec une sécurité supplémentaire, vous pouvez envisager de configurer des adresses IP sortantes statiques pour vos connexions, puis de configurer vos règles de pare-feu pour ajouter à la liste d'autorisation uniquement les adresses IP statiques spécifiques.
Configurer l'authentification
Saisissez les informations en fonction de l'authentification que vous souhaitez utiliser.
- Nom d'utilisateur et mot de passe
- Nom d'utilisateur : nom d'utilisateur SFTP à utiliser pour la connexion
- Mot de passe : secret Secret Manager contenant le mot de passe associé au nom d'utilisateur SFTP
- CLÉ_SSH_PUBLIQUE
- Nom d'utilisateur : compte utilisateur SFTP utilisé pour l'authentification
- Clé privée SSH : clé privée utilisée pour l'authentification SSH
- Mot de passe de la clé privée SSH : phrase secrète/mot de passe protégeant la clé privée, le cas échéant
- Type de clé privée SSH : format de la clé privée SSH
Utiliser la connexion SFTP dans une intégration
Une fois la connexion créée, elle devient disponible dans Apigee Integration et Application Integration. Vous pouvez utiliser la connexion dans une intégration au moyen de la tâche "Connecteurs".
- Pour savoir comment créer et utiliser la tâche "Connecteurs" dans Apigee Integration, consultez Tâche "Connecteurs".
- Pour savoir comment créer et utiliser la tâche "Connecteurs" dans Application Integration, consultez Tâche "Connecteurs".
Actions
Dans cette section, vous trouverez une liste non exhaustive des actions prises en charge par le connecteur. Pour savoir comment configurer les actions, consultez Exemples d'actions.
Action Upload
Le tableau suivant décrit les paramètres d'entrée de l'action Upload
.
Nom du paramètre | Type de données | Obligatoire | Description |
---|---|---|---|
Content | Chaîne | Non | Contenu à importer en tant que fichier. |
ContentBytes | Chaîne | Non | Contenu de type octets (chaîne Base64) à importer en tant que fichier. À utiliser pour importer des données binaires. |
HasBytes | Booléen | Non | Indique si le contenu doit être importé sous forme d'octets. La valeur par défaut est false . |
RemoteFile | Chaîne | Oui | Nom du fichier sur l'hôte distant. |
Overwrite | Booléen | Non | Indique si le fichier distant doit être écrasé. La valeur par défaut est false . |
Pour obtenir des exemples de configuration de l'action Upload
, consultez Exemples.
Action Download
Le tableau suivant décrit les paramètres d'entrée de l'action Download
.
Nom du paramètre | Type de données | Obligatoire | Description |
---|---|---|---|
RemoteFile | Chaîne | Oui | Nom du fichier sur l'hôte distant. |
HasBytes | Booléen | Non | Indique si le contenu doit être téléchargé sous forme d'octets. La valeur par défaut est false . |
Pour obtenir des exemples de configuration de l'action Download
, consultez Exemples.
Action MoveFile
Le tableau suivant décrit les paramètres d'entrée de l'action MoveFile
.
Nom du paramètre | Type de données | Obligatoire | Description |
---|---|---|---|
RemoteFile | Chaîne | Oui | Chemin d'accès au fichier distant à déplacer. |
DestinationPath | Chaîne | Oui | Nouveau chemin d'accès vers lequel vous souhaitez déplacer le fichier. |
Pour obtenir des exemples de configuration de l'action MoveFile
, consultez Exemples.
Action RenameFile
Le tableau suivant décrit les paramètres d'entrée de l'action RenameFile
.
Nom du paramètre | Type de données | Obligatoire | Description |
---|---|---|---|
RemoteFile | Chaîne | Oui | Chemin d'accès et nom du fichier distant à renommer. |
NewFileName | Chaîne | Oui | Nouveau nom du fichier distant. |
Pour obtenir des exemples de configuration de l'action RenameFile
, consultez Exemples.
Exemples
Cette section explique comment effectuer certaines opérations et actions d'entité dans ce connecteur. Les exemples décrivent les opérations suivantes :
- Lister tous les fichiers du répertoire racine
- Lister les fichiers correspondant à un modèle dans un répertoire
- Déplacer un fichier
- Renommer un fichier
- Supprimer un fichier
- Importer un fichier texte ASCII
- Importer un fichier binaire
- Télécharger un fichier texte ASCII
- Télécharger un fichier binaire
- Télécharger plusieurs fichiers
Le tableau suivant fournit une liste d'exemples de scénarios et la configuration correspondante dans la tâche "Connecteurs" :
Tâche | Exemple de commande | Configuration |
---|---|---|
Lister tous les fichiers du répertoire racine | ls / |
|
Lister les fichiers .csv d'un répertoire |
ls /tmp/*.csv |
|
Déplacer un fichier | mv /tmp/dir_A/hello_world.txt /dir_B/dir_C/ |
Cet exemple déplace le fichier [{ "Success":"true" }] |
Renommer un fichier | mv /tmp/hello_world.txt /tmp/hello_world_new.txt |
Cet exemple remplace le nom du fichier [{ "Success":"true" }] |
Supprimer un fichier | rm /tmp/myfile.csv |
|
Importer un fichier texte ASCII | put file_1.txt /tmp/file_1.txt |
Cet exemple crée le fichier Vous pouvez éventuellement définir l'attribut |
Importer un fichier binaire | put image_1.png /tmp/image_1.png |
Pour importer du contenu binaire, vous devez d'abord l'encoder au format Base64. Pour cela, vous pouvez utiliser l'outil de votre choix. Les étapes d'encodage du contenu ne sont pas décrites dans ce document. Une fois que vous disposez du contenu sous forme de chaîne Base64, procédez comme suit :
Cet exemple crée le fichier Vous pouvez éventuellement définir l'attribut |
Télécharger un fichier texte ASCII | get /tmp/myfile.txt |
Le contenu du fichier téléchargé est disponible sous forme de chaîne dans le champ |
Télécharger un fichier binaire | get /tmp/myfile.png |
Le contenu du fichier téléchargé est disponible sous la forme d'une chaîne encodée en Base64 dans le champ |
Télécharger plusieurs fichiers |
|
|
Limites du système
Le connecteur SFTP peut traiter une transaction par seconde et par nœud, et limite les transactions au-delà de ce seuil. Par défaut, Integration Connectors alloue deux nœuds (pour améliorer la disponibilité) à une connexion.
Pour en savoir plus sur les limites applicables à Integration Connectors, consultez Limites.
Créer des connexions à l'aide de Terraform
Vous pouvez utiliser la ressource Terraform pour créer une connexion.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
Pour afficher un exemple de modèle Terraform permettant de créer une connexion, consultez Exemple de modèle.
Lorsque vous créez cette connexion à l'aide de Terraform, vous devez définir les variables suivantes dans votre fichier de configuration Terraform :
Nom du paramètre | Type de données | Obligatoire | Description |
---|---|---|---|
remote_path | CHAÎNE | Non | Chemin d'accès actuel sur le serveur SFTP. |
Schéma JSON de la charge utile
Tous les objets d'entité d'une connexion SFTP possèdent un schéma JSON prédéfini. Les objets d'entité dans une connexion SFTP utilisent le schéma JSON suivant :
{ "type": "object", "properties": { "FilePath": { "type": "string", "readOnly": false }, "Filename": { "type": [ "string", "null" ], "readOnly": false, "description": "The name of the file or directory." }, "FileSize": { "type": [ "number", "null" ], "readOnly": false, "description": "The size of the file." }, "LastModified": { "type": [ "string", "null" ], "readOnly": false }, "IsDirectory": { "type": [ "boolean", "null" ], "readOnly": false }, "Permissions": { "type": [ "string", "null" ], "readOnly": false }, "Owner": { "type": [ "string", "null" ], "readOnly": false }, "OwnerId": { "type": [ "string", "null" ], "readOnly": false }, "Group": { "type": [ "string", "null" ], "readOnly": false }, "GroupId": { "type": [ "string", "null" ], "readOnly": false } } }
Demander de l'aide à la communauté Google Cloud
Vous pouvez publier vos questions et discuter de ce connecteur sur les forums Cloud de la communauté Google Cloud.
Étapes suivantes
- Découvrez comment suspendre et reprendre une connexion.
- Découvrez comment surveiller l'utilisation des connecteurs.
- Découvrez comment afficher les journaux des connecteurs.