Вы можете создать параметризованный SFTP-связанный сервис, используя приведенный ниже код JSON. Этот образец имеет параметризованные свойства Host, Port, UserName.
{
"name": "Sftp_LinkedServiceParameterized",
"type": "Microsoft.DataFactory/factories/linkedservices",
"properties": {
"parameters": {
"HostParameter": {
"type": "string",
"defaultValue": "defaultValue"
},
"PortParameter": {
"type": "string",
"defaultValue": "defaultValue"
},
"UserNameParameter": {
"type": "string",
"defaultValue": "defaultValue"
}
},
"annotations": [],
"type": "Sftp",
"typeProperties": {
"host": "@{linkedService().HostParameter}",
"port": "@{linkedService().PortParameter}",
"skipHostKeyValidation": true,
"authenticationType": "Basic",
"userName": "@{linkedService().UserNameParameter}",
"encryptedCredential": "XXXXXXXXXXXXXXXXXXXencryptedCredentialXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
}
После создания связанной службы сначала опубликуйте sh, а затем обновите sh. Теперь создайте набор данных, в котором вы хотите использовать этот связанный сервис. Вам нужно будет создать параметры набора данных для свойств Host, Port и UserName и сопоставить их со свойствами связанных служб на вкладке соединения с Dataset, как показано ниже.
В следующем примере показаны параметры входного конвейера (Host, Port, UserName):
На рисунке ниже показаны параметры набора данных (хост, порт, имя пользователя)
На рисунке ниже показано, как сопоставить параметры набора данных с параметрами связанной службы (Host, Port, UserName)
Ниже показано, как сопоставить ввод параметры конвейера для параметров набора данных.
Таким образом, вы сможете передавать значения связанных параметров сервиса из source/pipeline parameters -> dataset parameters -> linked service parameters
Надеюсь, это поможет.