

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de connecteurs SFTP
<a name="transfer-sftp-connectors"></a>

Cette rubrique décrit comment effectuer les opérations sur les fichiers prises en charge à l'aide de votre connecteur SFTP. Vous pouvez également trouver des exemples de commandes pour effectuer ces opérations en sélectionnant les détails de votre connecteur sur la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

Après avoir créé un connecteur SFTP, vous pouvez l'utiliser pour effectuer les opérations de fichier suivantes sur le serveur SFTP distant auquel il est associé.
+ Envoyez des fichiers depuis Amazon S3 vers le serveur SFTP distant.
+ Récupérez des fichiers depuis le serveur SFTP distant vers Amazon S3.
+ Répertoriez les fichiers et les sous-dossiers d'un répertoire sur le serveur SFTP distant.
+ Supprimez, renommez ou déplacez des fichiers et des répertoires sur le serveur SFTP distant.

Pour plus de détails sur la création de connecteurs, voir[Création de connecteurs SFTP](configure-sftp-connector.md).

**Topics**
+ [Transférer des fichiers](transfer-files-and-track.md)
+ [Lister le contenu d'un répertoire distant](sftp-connector-list-dir.md)
+ [Déplacer, renommer ou supprimer des fichiers ou des répertoires sur le serveur distant](move-delete-remote-files.md)

# Transférer des fichiers
<a name="transfer-files-and-track"></a>

**Topics**
+ [Envoyer et récupérer des fichiers à l'aide d'un connecteur SFTP](#send-retrieve-connector-details)

## Envoyer et récupérer des fichiers à l'aide d'un connecteur SFTP
<a name="send-retrieve-connector-details"></a>

Pour envoyer et récupérer des fichiers à l'aide d'un connecteur SFTP, vous devez utiliser l'opération [https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartFileTransfer.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartFileTransfer.html)API et spécifier les paramètres suivants, selon que vous *envoyez des fichiers* (transferts sortants) ou que vous *recevez des fichiers* (transferts entrants). Notez que chaque `StartFileTransfer` demande peut contenir 10 chemins distincts. 

**Note**  
 Par défaut, les connecteurs SFTP traitent un fichier à la fois, transférant les fichiers de manière séquentielle. Vous pouvez accélérer les performances de transfert en demandant à vos connecteurs de créer des sessions simultanées avec des serveurs distants qui prennent en charge les sessions simultanées du même utilisateur et traitent jusqu'à 5 fichiers en parallèle.   
 Pour activer les connexions simultanées pour n'importe quel connecteur, vous pouvez modifier le paramètre **Nombre maximal de connexions simultanées lors de la** création ou de la mise à jour d'un connecteur. Pour en savoir plus, consultez [Création d'un connecteur SFTP avec sortie gérée par service](create-sftp-connector-procedure.md). 
+ **Transferts sortants** 
  + `send-file-paths`contient de un à dix chemins de fichiers sources, pour les fichiers à transférer vers le serveur SFTP du partenaire.
  + `remote-directory-path`est le chemin distant vers lequel envoyer un fichier sur le serveur SFTP du client.
+ **Transferts entrants** 
  + `retrieve-file-paths`contient de un à dix chemins distants. Chaque chemin indique un emplacement pour le transfert des fichiers du serveur SFTP du partenaire vers votre serveur Transfer Family.
  + `local-directory-path`est l'emplacement Amazon S3 (compartiment et préfixe facultatif) où vos fichiers sont stockés.

Pour envoyer des fichiers, vous devez spécifier les `remote-directory-path` paramètres `send-file-paths` et. Vous pouvez spécifier jusqu'à 10 fichiers pour le `send-file-paths` paramètre. L'exemple de commande suivant envoie les fichiers nommés `/amzn-s3-demo-source-bucket/file1.txt` et `/amzn-s3-demo-source-bucket/file2.txt` situés dans le stockage Amazon S3 vers le `/tmp` répertoire du serveur SFTP de votre partenaire. Pour utiliser cet exemple de commande, remplacez le `amzn-s3-demo-source-bucket` par votre propre bucket.

```
aws transfer start-file-transfer --send-file-paths /amzn-s3-demo-source-bucket/file1.txt /amzn-s3-demo-source-bucket/file2.txt \
    --remote-directory-path /tmp --connector-id c-1111AAAA2222BBBB3 --region us-east-2
```

Pour récupérer des fichiers, vous devez spécifier les `local-directory-path` paramètres `retrieve-file-paths` et. L'exemple suivant extrait les fichiers `/my/remote/file1.txt` et les place `/my/remote/file2.txt` sur le serveur SFTP du partenaire dans l'emplacement Amazon S3 /amzn-s3-demo-bucket/. *prefix* Pour utiliser cet exemple de commande, remplacez `user input placeholders` par vos propres informations.

```
aws transfer start-file-transfer --retrieve-file-paths /my/remote/file1.txt  /my/remote/file2.txt \
   --local-directory-path /amzn-s3-demo-bucket/prefix --connector-id c-2222BBBB3333CCCC4 --region us-east-2
```

Les exemples précédents spécifient des chemins absolus sur le serveur SFTP. Vous pouvez également utiliser des chemins relatifs, c'est-à-dire des chemins relatifs au répertoire personnel de l'utilisateur SFTP. Par exemple, si l'utilisateur SFTP l'est `marymajor` et que son répertoire personnel sur le serveur SFTP l'est`/users/marymajor/`, la commande suivante envoie à `/amzn-s3-demo-source-bucket/file1.txt` `/users/marymajor/test-connectors/file1.txt`

```
aws transfer start-file-transfer --send-file-paths /amzn-s3-demo-source-bucket/file1.txt \
   --remote-directory-path test-connectors --connector-id c-2222BBBB3333CCCC4 --region us-east-2
```

# Lister le contenu d'un répertoire distant
<a name="sftp-connector-list-dir"></a>

Avant de récupérer des fichiers depuis un serveur SFTP distant, vous pouvez récupérer le contenu d'un répertoire sur le serveur SFTP distant. Pour ce faire, vous utilisez [https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartDirectoryListing.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartDirectoryListing.html)Fonctionnement de l'API.

L'exemple suivant répertorie le contenu du `home` dossier sur le serveur SFTP distant, qui est spécifié dans la configuration du connecteur. Les résultats sont placés dans l'emplacement `/amzn-s3-demo-bucket/connector-files` Amazon S3 et dans un fichier nommé`c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json`.

```
aws transfer start-directory-listing  \
   --connector-id c-AAAA1111BBBB2222C  \ 
   --output-directory-path /amzn-s3-demo-bucket/example/connector-files  \
   --remote-directory-path /home
```

Cette AWS CLI commande renvoie un numéro de liste et le nom du fichier contenant les résultats.

```
{
    "ListingId": "6666abcd-11aa-22bb-cc33-0000aaaa3333",
    "OutputFileName": "c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json"
}
```

**Note**  
La convention de dénomination du fichier de sortie est`connector-ID-listing-ID.json`.

Le fichier JSON contient les informations suivantes :
+ `filePath`: le chemin complet d'un fichier distant, relatif au répertoire de la demande de listage pour votre connecteur SFTP sur le serveur distant.
+ `modifiedTimestamp`: la dernière fois que le fichier a été modifié, en secondes, au format UTC (Coordinated Universal Time). Ce champ est facultatif. Si les attributs du fichier distant ne contiennent pas d'horodatage, celui-ci est omis de la liste des fichiers.
+ `size`: la taille du fichier, en octets. Ce champ est facultatif. Si les attributs du fichier distant ne contiennent pas de taille de fichier, celui-ci est omis de la liste des fichiers.
+ `path`: le chemin complet d'un répertoire distant, relatif au répertoire de la demande de listage pour votre connecteur SFTP sur le serveur distant.
+ `truncated`: un drapeau indiquant si la sortie de la liste contient tous les éléments contenus dans le répertoire distant ou non. Si votre valeur en `truncated` sortie est vraie, vous pouvez augmenter la valeur fournie dans l'attribut `max-items` d'entrée facultatif pour pouvoir répertorier davantage d'éléments (jusqu'à la taille de liste maximale autorisée de 10 000 éléments).

Voici un exemple du contenu du fichier de sortie (`c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json`), dans lequel le répertoire distant contient deux fichiers et deux sous-répertoires (chemins).

```
{
    "files": [
        {
            "filePath": "/home/what.txt",
            "modifiedTimestamp": "2024-01-30T20:34:54Z",
            "size" : 2323
        },
        {
            "filePath": "/home/how.pgp",
            "modifiedTimestamp": "2024-01-30T20:34:54Z",
            "size" : 4691
        }
    ],
    "paths": [
        {
            "path": "/home/magic"
        },
        {
            "path": "/home/aws"
        },
    ],
    "truncated": "false"
}
```

# Déplacer, renommer ou supprimer des fichiers ou des répertoires sur le serveur distant
<a name="move-delete-remote-files"></a>

**Topics**
+ [Déplacer ou renommer des fichiers ou des répertoires sur le serveur SFTP distant](#move-remote-file)
+ [Supprimer des fichiers ou des répertoires sur le serveur SFTP distant](#delete-remote-file)

## Déplacer ou renommer des fichiers ou des répertoires sur le serveur SFTP distant
<a name="move-remote-file"></a>

Vous pouvez utiliser un connecteur SFTP pour déplacer ou renommer des fichiers et des répertoires sur un serveur SFTP distant. Notez que le serveur distant doit prendre en charge ces opérations pour un traitement réussi à l'aide de connecteurs.

Certains cas d'utilisation courants sont les suivants.
+ Un serveur distant génère ou reçoit un nouveau fichier toutes les heures, avec le même nom de fichier mais un horodatage différent. Pour maintenir le dossier principal à jour (afin qu'il ne contienne que le dernier fichier), vous pouvez utiliser un connecteur pour déplacer les anciens fichiers vers un dossier archivé.
+ Vous utilisez un connecteur pour répertorier tous les fichiers d'un répertoire distant, puis vous transférez tous les fichiers vers votre stockage local. Vous pouvez ensuite utiliser un connecteur pour déplacer les fichiers vers un dossier archivé sur le serveur distant.

Vous devez utiliser un `StartRemoteMove` appel pour chaque fichier ou répertoire que vous souhaitez traiter, car la commande prend un seul fichier ou répertoire source et de destination comme arguments. Cependant, vous pouvez améliorer les performances en demandant à vos connecteurs de créer des sessions simultanées avec des serveurs distants qui prennent en charge les sessions simultanées du même utilisateur et move/rename jusqu'à 5 fichiers en parallèle.

L'exemple suivant déplace un fichier sur le serveur SFTP distant de `/source/folder/sourceFile` vers `/destination/targetFile` et renvoie un identifiant unique pour l'opération.

```
aws transfer --connector-id c-AAAA1111BBBB2222C start-remote-move \
   --source-path /source/folder/sourceFile --target-path /destination/targetFile
```

**Note**  
Pour les move/rename opérations, Transfer Family utilise la `SFTP SSH_FXP_RENAME` commande standard pour effectuer l' move/rename opération.

## Supprimer des fichiers ou des répertoires sur le serveur SFTP distant
<a name="delete-remote-file"></a>

Vous pouvez utiliser un connecteur SFTP pour supprimer des fichiers ou des répertoires sur un serveur SFTP distant. Notez que le serveur distant doit prendre en charge ces opérations pour un traitement réussi à l'aide de connecteurs.

**Note**  
Les opérations de suppression pour les répertoires distants ne sont prises en charge que pour les répertoires vides.

Certains cas d'utilisation courants sont les suivants.
+ Vous utilisez un connecteur pour récupérer un fichier depuis un serveur SFTP distant, le stocker dans votre compartiment Amazon S3, puis le chiffrer. Enfin, vous pouvez utiliser un connecteur pour supprimer le fichier non chiffré sur le serveur distant.
+ Vous utilisez un connecteur pour répertorier tous les fichiers d'un répertoire distant, puis vous transférez tous les fichiers vers votre stockage local. Vous pouvez ensuite utiliser un connecteur pour supprimer tous les fichiers que vous avez transférés. Vous pouvez également supprimer le répertoire distant si vous le souhaitez.

Vous devez utiliser un `StartRemoteDelete` appel pour chaque fichier ou répertoire que vous souhaitez supprimer, car la commande prend un seul fichier ou répertoire comme argument. Cependant, vous pouvez améliorer les performances en demandant à vos connecteurs de créer des sessions simultanées avec des serveurs distants qui prennent en charge les sessions simultanées du même utilisateur, et en suppriment jusqu'à 5 files/directories en parallèle.

L'exemple suivant supprime un fichier sur le serveur SFTP distant dans le chemin `/delete/folder/deleteFile` et renvoie un identifiant unique pour l'opération.

```
aws transfer start-remote-delete --connector-id c-AAAA1111BBBB2222C \
   --delete-path /delete/folder/deleteFile
```

**Note**  
Pour l'opération de suppression, Transfer Family utilise la `SSH_FXP_REMOVE` commande standard pour supprimer un fichier et `SSH_FXP_RMDIR` un répertoire.