Codeunit "Ftp Client UTCAP"
Ce module propose un accès aux serveurs FTP par le biais d'un service intermédiaire hébergé dans le cloud. Le service requiert une clé de licence valide pour fonctionner.
Remarks
Adresses IP
Le service intermédiaire qui communique les requêtes FTP de Business Central vers le serveur FTP distant est un service hébergé sur Microsoft Azure par CAP Vision.
Si un pare-feu est configuré sur le serveur FTP, il est recommandé d'ouvrir les IP susceptibles d'être utilisées par ce service.
Ces IP sont les suivantes :
| Adresse IP |
|---------------|
| 20.74.71.248 |
| 20.74.71.250 |
| 20.199.0.2 |
| 20.199.0.85 |
| 20.199.0.141 |
| 20.199.1.66 |
| 40.79.130.129 |
| 40.89.130.0 |
| 40.89.139.181 |
| 40.89.166.179 |
| 40.89.161.203 |
| 40.89.130.122 |
| 40.89.164.243 |
| 40.89.161.127 |
| 40.89.163.147 |
| 40.89.134.161 |
| 20.74.71.248 |
| 20.74.71.250 |
| 20.199.0.2 |
| 20.199.0.85 |
| 20.199.0.141 |
| 20.199.1.66 |
| 20.199.1.83 |
| 20.199.1.153 |
| 20.199.1.185 |
| 20.199.1.194 |
| 20.199.2.15 |
| 20.199.2.28 |
| 40.79.130.129 |
Date de dernière mise à jour : juillet 2024
Les protocoles FTP suivants sont supportés :
- FTP : utilisez-le en indiquant un nom d'hôte sans préfixe (server.com) ou avec le préfixe ftp:// (ftp://server.com)
- FTPS (FTP over SSL) : utilisez-le en indiquant un nom d'hôte avec le préfixe ftps:// (ftps://server.com)
- SFTP (SSH File Transfer Protocol) : utilisez-le en indiquant un nom d'hôte avec le préfixe sftp:// (sftp://server.com) ou scp:// (scp://server.com). Seules les connexions par nom d'utilisateur/mot de passe sont supportées.
> [!IMPORTANT]
> Le protocole FTP et FTPS sont supportés via la bibliothèque [FluentFTP](https://github.com/robinrodricks/FluentFTP).
> Le protocole SFTP sont supportés via la bibliothèque [SSH.NET](https://sshnet.github.io/SSH.NET/).
> Les limitations s'appliquant à ces bibliothèques s'appliquent également à ce module.
Examples
Télécharger un fichier
``` AL
var
FtpClient: Codeunit "Ftp Client UTCAP";
TempBlob: Codeunit "Temp Blob";
InStr: InStream;
FromFile: Text;
begin
TempBlob.CreateInStream(InStr);
UploadIntoStream('', '', 'All Files (*.*)|*.*', FromFile, InStr);
FtpClient.Initialize('ftp://myserver.com', 21, '<licenseKey>', 'user', 'password');
FtpClient.UploadFile('/folder/', FromFile, InStr);
end;
```
Properties
| Name | Value |
|---|---|
| Access | Public |
Methods
Initialize
Initialise les paramètres du serveur FTP auquel se connecter.
procedure Initialize(NewServer: Text, NewLicenseKey: Guid, NewUsername: Text, NewPassword: Text)
Parameters
| Name | Type | Description |
|---|---|---|
| NewServer | Text |
Adresse du serveur FTP (ou nom d'hôte). Utilisez de préférence un préfixe ftp://, ftps:// ou sftp:// pour préciser le protocole utilisé. |
| NewLicenseKey | Guid |
Clé de licence donnant accès au service. |
| NewUsername | Text |
Nom d'utilisateur utilisé pour la connexion au serveur FTP. |
| NewPassword | Text |
Mot de passe utilisé pour la connexion au serveur FTP. |
Initialize
Initialise les paramètres du serveur FTP auquel se connecter.
procedure Initialize(NewServer: Text, NewPort: Integer, NewLicenseKey: Guid, NewUsername: Text, NewPassword: Text)
Parameters
| Name | Type | Description |
|---|---|---|
| NewServer | Text |
Adresse du serveur FTP (ou nom d'hôte). Utilisez de préférence un préfixe ftp://, ftps:// ou sftp:// pour préciser le protocole utilisé. |
| NewPort | Integer |
Port du serveur FTP. |
| NewLicenseKey | Guid |
Clé de licence donnant accès au service. |
| NewUsername | Text |
Nom d'utilisateur utilisé pour la connexion au serveur FTP. |
| NewPassword | Text |
Mot de passe utilisé pour la connexion au serveur FTP. |
DownloadFile
Télécharge un fichier depuis le serveur FTP.
procedure DownloadFile(Filename: Text, OutputStream: OutStream): Boolean
Parameters
| Name | Type | Description |
|---|---|---|
| Filename | Text |
Nom complet du fichier à récupérer. |
| OutputStream | OutStream |
Flux dans lequel le fichier est à écrire. |
Returns
| Type | Description |
|---|---|
| Boolean |
UploadFile
Télécharge un fichier sur le serveur FTP.
procedure UploadFile(Filename: Text, InputStream: InStream)
Parameters
| Name | Type | Description |
|---|---|---|
| Filename | Text |
Nom complet du fichier à créer. |
| InputStream | InStream |
Contenu du fichier. |
DeleteFile
Supprime un fichier sur le serveur FTP.
procedure DeleteFile(Filename: Text)
Parameters
| Name | Type | Description |
|---|---|---|
| Filename | Text |
Nom complet du fichier à créer. |
GetFiles
Obtient la liste des fichiers d'un dossier sur le serveur FTP.
procedure GetFiles(Path: Text, FilterString: Text, RecursiveSearch: Boolean): List of [Text]
Parameters
| Name | Type | Description |
|---|---|---|
| Path | Text |
Chemin complet du dossier sur le serveur FTP. |
| FilterString | Text |
Expression régulière pour filtrer la liste des fichiers. |
| RecursiveSearch | Boolean |
Chemin complet du dossier sur le serveur FTP. |
Returns
| Type | Description |
|---|---|
| List of [Text] |
Liste des fichiers présents sur le serveur. |