Yes, you can do it specifying dynamic contents in JSON Format:
Here is the Json code that allows for dynamic linked service parameters:
{
"properties": {
"type": "sftp",
"parameters": {
"HostName": {
"type": "string",
"defaultValue": ""
},
"UserName": {
"type": "string",
"defaultValue": ""
},
"Port": {
"type": "string",
"defaultValue": ""
},
"SecretName": {
"type": "string",
"defaultValue": ""
}
},
"annotations": [],
"typeProperties": {
"host": "@linkedService().HostName",
"userName": "@linkedService().UserName",
"port": "@linkedService().Port",
"skipHostKeyValidation": true,
"authenticationType": "Basic",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "KEYVAULT_Ops",
"type": "LinkedServiceReference"
},
"secretName": "@linkedService().SecretName"
}
}
}
}
The important part here is the first part:
"parameters": {
"HostName": {
"type": "string",
"defaultValue": ""
},
"UserName": {
"type": "string",
"defaultValue": ""
},
"Port": {
"type": "string",
"defaultValue": ""
},
"SecretName": {
"type": "string",
"defaultValue": ""
}
},
You can then reference these parameters in the json like this:
This is what it looks like when creating the dataset for that linked service: