Настройка / настройка SFTP-соединения - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу иметь конвейер, который считывает некоторые параметры из базы данных и передает их в набор данных, а затем в связанный сервис. Сценарий - соединение sFTP с файлами раскладки, и я хочу иметь возможность передавать значения для соединения.

Я разместил вопрос в azure -документах и ​​каким-то образом смог go только половину пути. - https://github.com/MicrosoftDocs/azure-docs/issues/52385

Я смог поместить параметры в SFTP-соединение (и выполнение теста, передача значений для параметров, работает нормально). Проблема в том, когда я пытаюсь использовать это соединение в наборе данных. Используя набор данных csv, я не могу передать связанной службе подробности / параметры соединения.

  • Хост
  • Порт
  • Имя пользователя
  • Пароль (уже позволяет получить из AKV)

Любая помощь будет оценена, Заранее спасибо, Мануэль

1 Ответ

2 голосов
/ 18 апреля 2020

Вы можете создать параметризованный 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):

enter image description here

На рисунке ниже показаны параметры набора данных (хост, порт, имя пользователя)

enter image description here

На рисунке ниже показано, как сопоставить параметры набора данных с параметрами связанной службы (Host, Port, UserName)

enter image description here

Ниже показано, как сопоставить ввод параметры конвейера для параметров набора данных.

enter image description here

Таким образом, вы сможете передавать значения связанных параметров сервиса из source/pipeline parameters -> dataset parameters -> linked service parameters

enter image description here

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...