Skip to main content

Configuring an ADF Linked Service Connection for FTP

note

For information on how to enable a connection for use with linked services, see Configuring a Linked Service Connection.

note

Field labels in this walkthrough follow the underlying Azure Data Factory property names, with the connection column that carries each value named alongside. The exact labels shown in the BimlFlex Connection Editor may differ.

After selecting FTP from the Linked Service Type dropdown, the form required for creating an FTP Linked Service will appear. The FTP option is offered when the connection's Connection Type is FTP.

File Format System Types​

An FTP Linked Service is selected on a connection whose System Type is a file format. The file format System Types that offer it are Delimited Format, Avro Format, Binary Format, JSON Format, ORC Format, Parquet Format and XML Format.

Choosing an Authentication Method​

MethodCredentialsAdditional Settings
BasicUsername and PasswordNone
AnonymousNoneNone

Recommendation: Store the Password in Azure Key Vault rather than entering it as plaintext.

Complete Example: Basic Authentication with Azure Key Vault​

The values below are made up for illustration.

FieldExample Value
Connect via Integration RuntimeAutoResolveIntegrationRuntime
Hostftp.contoso.com
Port21
Enable SSL (LS_EnableSsl column, no form field)true
Enable Server Certificate Validation (LS_EnableServerCertificateValidation column, no form field)true
Authentication TypeBasic
Usernamebfx-reader
Azure Key Vault Linked Servicebfx-kv
Secret Name (for Password)BFX-SRC-FtpPassword

From these values the build writes a linked service with the host, the port, authenticationType set to Basic, the userName, and a password that references the secret in Azure Key Vault. Both SSL columns read true, so the linked service connects over SSL/TLS and validates the server certificate with the service defaults, and no enableSsl or enableServerCertificateValidation property is written.

Required Fields​

Common Required Fields

Most required fields for an FTP Linked Service connection depend on the Authentication Type used. There are some fields that are required regardless of Authentication Type.

These common required fields are:

Optional fields are:

Authentication Type Dependent Required Fields

The remaining field requirements are dependent on Authentication Type.

Required fields for Basic:

Required fields for Anonymous:

  • None

Connect via Integration Runtime​

Connect via Integration Runtime names the integration runtime for an FTP Linked Service connection. The default value is AutoResolveIntegrationRuntime. To use another runtime, select it from the dropdown or choose + New to add one. When a custom value is saved in the linked service form, it will be added to the custom integration runtimes. The custom values that appear in this dropdown can be maintained in Settings under Azure - AzureIntegrationRuntime.

The runtime is stored in the connection's LS_ConnectVia_IntegrationRuntime column. Any value other than AutoResolveIntegrationRuntime is written to the linked service as the runtime it connects through.

Host​

The Host is the name or IP address of the FTP server (for example, ftp.contoso.com). It is stored in the connection's LS_Host column and maps to the ADF host property.

Port​

The Port is the port on which the FTP server is listening. It is stored in the connection's LS_Port column and maps to the ADF port property. BimlFlex writes it to the linked service when the column is set. When the Port is not set, Azure Data Factory uses port 21.

Enable SSL​

Enable SSL is carried in the connection's LS_EnableSsl column and maps to the ADF enableSsl property, which sets whether the linked service connects over an SSL/TLS channel. The FTP form has no field for it. The build reads the column by its name, and a value held in the column is kept when the connection is saved.

When the column is filled, the build reads it as true or false: true, t, yes, y and 1 read as true without regard to letter case, and any other value reads as false. A column that reads false writes enableSsl as false. A column that reads true keeps the service default, true, so the build writes no enableSsl property for it. When the column is blank, nothing is written and the service default, true, applies.

The FTP connector connects with no encryption or with explicit SSL/TLS encryption. It does not support implicit SSL/TLS encryption.

Enable Server Certificate Validation​

Enable Server Certificate Validation is carried in the connection's LS_EnableServerCertificateValidation column and maps to the ADF enableServerCertificateValidation property, which sets whether the linked service validates the server's TLS/SSL certificate when it connects over an SSL/TLS channel. The FTP form has no field for it. The build reads the column by its name, and a value held in the column is kept when the connection is saved.

The build reads a filled column as true or false in the same way as Enable SSL. A column that reads false writes enableServerCertificateValidation as false. A column that reads true keeps the service default, true, so the build writes no enableServerCertificateValidation property for it. When the column is blank, nothing is written and the service default, true, applies.

Authentication Type​

The FTP Linked Service connection can use Basic or Anonymous authentication. The selected value is stored in the connection's LS_AuthenticationType column and maps to the ADF authenticationType property.

When using Basic, a Username and Password are required.

For Anonymous, no credentials are required.

Basic​

Basic authentication signs in to the FTP server with a Username and Password.

The Username is stored in the connection's LS_Username column and maps to the ADF userName property. The Password field accepts the password as plaintext in the LS_Password column, or an Azure Key Vault reference held in the LS_PasswordKVS_ fields that resolves to the password at runtime. It maps to the ADF password property.

note

It is suggested that Azure Key Vault be used in place of manually entering the Password.

Anonymous​

Anonymous authentication connects to the FTP server without a Username or Password.

Azure Data Factory Linked Service Additional Information​

For additional information on ADF FTP Linked Service and its connection requirements see the Azure Data Factory FTP Connector documentation.