Значение исходного набора данных фабрики данных Azure из параметра - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть набор данных в Azure Datafactory, подкрепленный файлом CSV. Я добавил дополнительный столбец в набор данных и хочу передать его значение из параметра набора данных, но значение никогда не копируется в столбец

  "type": "AzureBlob",
    "structure": 
    [
        {
            "name": "MyField",
            "type": "String"
        }
    ]

У меня также есть определенный параметр

   "parameters": {
        "MyParameter": {
            "type": "String",
            "defaultValue": "ABC"
        }
    }  

Как скопировать значение параметра в столбец? Я пытался следовать, но не работает

   "type": "AzureBlob",
    "structure": 
    [
        {
            "name": "MyField",
            "type": "String",
            "value": "@dataset().MyParameter"
        }
    ]

Но это не работает. Я получаю NULL в пункте назначения, хотя значение параметра установлено

1 Ответ

0 голосов
/ 14 ноября 2018

На основе документа: Выражения и функции в фабрике данных Azure , @dataset().XXX пока не поддерживается в фабрике данных Azure. Таким образом, вы не можете использовать значение параметра в качестве пользовательского столбца в приемнике или источнике с непосредственным действием копирования.

Однако вы можете использовать следующие обходные пути:

1.Вы можете создать настраиваемое действие и написать код, чтобы делать все, что вам нужно.

2.Вы можете поместить файл csv в лазурное озеро данных, затем выполнить сценарий U-SQL, чтобы прочитать данные из файла и добавить новый столбец с конвейером rundId. Затем выведите его в новую область в озере данных, чтобы данные могли быть собраны остальной частью вашего конвейера. Для этого вам просто нужно просто передать параметр в U-SQL из ADF. Пожалуйста, обратитесь к U-SQL Activity .

В этой теме: использовать параметры конвейера adf в качестве источника для поглощения столбцов при отображении , клиент использовал второй способ.

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