Установка возвращаемого значения конвейера в Фабрика данных Azure и Azure Synapse Analytics
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В парадигме вызова дочернего конвейера можно использовать действие Set Variable для возврата значений из дочернего конвейера в вызывающий конвейер. В следующем сценарии у нас есть дочерний конвейер с помощью действия выполнения конвейера. И мы хотим получить информацию из дочернего конвейера, а затем использовать в вызывающем конвейере.
Введите возвращаемое значение конвейера, словарь пар значений ключей, который позволяет обмен данными между дочерними конвейерами и родительским конвейером.
Предварительные требования. Вызов дочернего конвейера
В качестве предварительных условий конструктору требуется действие execute Pipeline, вызывающее дочерний конвейер, с включенным ожиданием завершения для действия.
Настройка возвращаемого значения конвейера в дочернем конвейере
Мы расширили действие Set Variable, чтобы включить возвращаемое значение конвейера системных переменных. Их не нужно определять на уровне конвейера (в отличие от других переменных, используемых в конвейере).
- Выполните поиск элемента Set Variable на панели действий конвейера и перетащите действие Set Variable на холст конвейера.
- Выберите действие "Задать переменную" на холсте, если оно еще не выбрано, а затем вкладка "Переменные" для изменения сведений .
- Выберите возвращаемое значение конвейера для типа переменной.
- Выберите "Создать" , чтобы добавить новую пару значений ключа.
- Количество пар "ключ-значение", которые можно добавить, ограничено только ограничением размера возвращаемого JSON (4 МБ).
Существует несколько вариантов для типов значений, включая
Тип Имя | Description |
---|---|
Строка | Константное строковое значение. например: "ADF является удивительным" |
Expression | Он позволяет ссылаться на выходные данные из предыдущих действий. Интерполяция строк можно использовать здесь для включения значений строковых выражений, таких как "The value is @{guid()}" . |
Массив | Он ожидает массив строковых значений. Нажмите клавишу ВВОД, чтобы разделить значения в массиве |
Логический | True или False |
Null | Состояние владельца места сигнала; Значение равно константе NULL |
Int | Числовое значение целочисленного типа. Например: 42 |
Тип с плавающей запятой | Числовое значение типа float. Например: 2.71828 |
Object | Предупреждать только сложные варианты использования. Он позволяет внедрить список пар "ключевое значение" для значения. |
Значение типа объекта определяется следующим образом:
[{"key": "myKey1", "value": {"type": "String", "content": "hello world"}},
{"key": "myKey2", "value": {"type": "String", "content": "hi"}}
]
Получение значения при вызове конвейера
Возвращаемое значение конвейера дочернего конвейера становится выходным результатом действия «Выполнение действия конвейера». Вы можете получить сведения с помощью @activity('Execute Pipeline1').output.pipelineReturnValue.keyName. Вариант использования ограничен. Например, можно использовать
- Значение int из дочернего конвейера для определения периода ожидания действия ожидания.
- Строковое значение, определяющее URL-адрес для веб-действия.
- Полезные данные значения выражения для действия скрипта для ведения журнала.
При ссылке на возвращаемые значения конвейера есть два заметных выноски.
- С помощью типа объекта можно дополнительно развернуть в вложенный объект JSON, например @activity('Execute Pipeline1').output.pipelineReturnValue.keyName.nextLevelKey
- С помощью типа массива можно указать индекс в списке с помощью @activity('Execute Pipeline1').output.pipelineReturnValue.keyName[0]. Число равно нулю индексировано, то есть начинается с 0.
Примечание.
Убедитесь, что имя ключа , на которое вы ссылаетесь, существует в дочернем конвейере. Построитель выражений ADF не может подтвердить проверку ссылок. Конвейер завершится ошибкой, если ключ, на который ссылается ссылка, отсутствует в полезных данных.
Особые соображения
Хотя в конвейере можно включить несколько действий возвращаемого значения конвейера, важно убедиться, что в конвейере выполняются только один из них.
Чтобы избежать ранее описанной ранее проблемы с отсутствующим ключом при вызове конвейера, мы рекомендуем использовать один и тот же список ключей для всех ветвей в дочернем конвейере. Рекомендуется использовать типы NULL для ключей, не имеющих значений, в определенной ветви.
Язык выражений Фабрика данных Azure напрямую не поддерживает встроенные объекты JSON. Вместо этого необходимо правильно объединить строки и выражения.
Например, для следующего выражения JSON:
{ "datetime": "@{utcnow()}", "date": "@{substring(utcnow(),0,10)}", "year": "@{substring(utcnow(),0,4)}", "month": "@{substring(utcnow(),5,2)}", "day": "@{substring(utcnow(),8,2)}" }
Эквивалентное выражение Фабрика данных Azure будет:
@{ concat( '{', '"datetime": "', utcnow(), '", ', '"date": "', substring(utcnow(),0,10), '", ', '"year": "', substring(utcnow(),0,4), '", ', '"month": "', substring(utcnow(),5,2), '", ', '"day": "', substring(utcnow(),8,2), '"', '}' ) }
Связанный контент
Узнайте еще об одном действии с потоком контроля: