как создать интегрированную среду выполнения фабрики данных в шаблоне arm - PullRequest
1 голос
/ 14 апреля 2020

Я пытаюсь развернуть фабрику данных, используя шаблон ARM. Экспортированный шаблон легко использовать для создания конвейера развертывания.

Однако, поскольку фабрике данных требуется доступ к локальному серверу баз данных, мне необходимо иметь интегрированную среду выполнения. Проблема в том, как я могу включить время выполнения в шаблоне arm?

Шаблон выглядит следующим образом, и мы видим, что он пытается включить время выполнения:

{
    "name": "[concat(parameters('factoryName'), '/OnPremisesSqlServer')]",
    "type": "Microsoft.DataFactory/factories/linkedServices",
    "apiVersion": "2018-06-01",
    "properties": 
    {
        "annotations": [],
        "type": "SqlServer",
        "typeProperties": {
            "connectionString": "[parameters('OnPremisesSqlServer_connectionString')]"
        },
        "connectVia": {
            "referenceName": "OnPremisesSqlServer",
            "type": "IntegrationRuntimeReference"
        }
    },
    "dependsOn": [
        "[concat(variables('factoryId'), '/integrationRuntimes/OnPremisesSqlServer')]"
    ]
},
{
    "name": "[concat(parameters('factoryName'), '/OnPremisesSqlServer')]",
    "type": "Microsoft.DataFactory/factories/integrationRuntimes",
    "apiVersion": "2018-06-01",
    "properties": {
        "type": "SelfHosted",
        "typeProperties": {}
    },
    "dependsOn": []
}

Запуск этого Шаблон выдает мне эту ошибку:

\"connectVia\": {\r\n      \"referenceName\": \"OnPremisesSqlServer\",\r\n      \"type\": \"IntegrationRuntimeReference\"\r\n    }\r\n  }\r\n} and error is: Failed to encrypted linked service credentials on self-hosted IR 'OnPremisesSqlServer', reason is: NotFound, error message is: No online instance..

Проблема в том, что мне нужно будет ввести какой-то ключ в пользовательском интерфейсе интегрированной среды выполнения, чтобы его можно было зарегистрировать в azure. Но я могу получить этот ключ только из пользовательского интерфейса моего экземпляра фабрики данных. Таким образом, вышеописанное развертывание шаблона всегда будет неудачным хотя бы один раз Мне интересно, есть ли способ создать время выполнения независимо?

1 Ответ

1 голос
/ 15 апреля 2020

Проблема в том, что мне нужно будет ввести какой-то ключ в пользовательском интерфейсе интегрированной среды выполнения, чтобы его можно было зарегистрировать в azure. Но я могу получить этот ключ только из пользовательского интерфейса моего экземпляра фабрики данных. Таким образом, вышеописанное развертывание шаблона всегда будет неудачным хотя бы один раз Мне интересно, есть ли способ создать время выполнения независимо?

Кажется, вы уже знаете, как создать Self-Hosted IR в ADF ARM .

{
          "name": "[concat(parameters('dataFactoryName'), '/integrationRuntime1')]",
          "type": "Microsoft.DataFactory/factories/integrationRuntimes",
          "apiVersion": "2018-06-01",
          "properties": {
            "additionalProperties": {},
            "description": "jaygongIR1",
            "type": "SelfHosted"
            }
        }

Результат:

enter image description here

enter image description here

Вас беспокоит только то, что Windows IR Tool необходимо настроить на AUTHENTICATION KEY для доступа к самоподдерживающемуся IR-узлу ADF. Итак, он должен иметь статус Unavailable после его создания. Этот поток имеет смысл, я думаю, Сначала необходимо создать ключ проверки подлинности, затем его можно использовать для настройки On-Premise Tool. Невозможно реализовать все за один шаг, так как эти варианты поведения действуют как на azure, так и на сторонних объектах.

Основываясь на документе Self-Hosted IR Tool , этапы регистрации невозможно реализовать с помощью кода Powershell. Таким образом, все шаги не могут быть обработаны в потоке: создание IR и получение ключа авторизации, а не для регистрации в инструменте.

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