Фабрика данных Azure — использовать системную переменную в динамическом контенте

#azure #azure-data-factory #azure-data-factory-pipeline

#azure #azure-data-factory #azure-data-factory-pipeline

Вопрос:

Я пытаюсь использовать системную переменную «@pipeline().TriggerTime» в поле динамического содержимого.

У меня есть действие «Копировать данные», в котором есть набор данных приемника в папку.

введите описание изображения здесь

Внутри этого набора данных приемника я пытаюсь установить путь к файлу в

 @concat('Trigger_',formatDateTime(@pipeline().TriggerTime, 'ddMMyyyyHHmmss'), '.trg')
  

введите описание изображения здесь

Но я получаю следующее сообщение об ошибке.

введите описание изображения здесь

Действие содержится в блоке ‘If Condition’, который сам содержится в ‘ForEach’, но эта переменная должна быть глобальной в конвейере, поэтому я не понимаю, почему она не должна работать.

Спасибо за любую помощь.

Комментарии:

1. Символ @ появляется только один раз в начале функции. Измените «@pipeline» на просто «конвейер», и все должно быть в порядке.

Ответ №1:

Как комментирует Джоэл, просто измените «@pipeline» на «конвейер».

 @concat('Trigger_',formatDateTime(pipeline().TriggerTime, 'ddMMyyyyHHmmss'), '.trg')
  

Если вы хотите использовать несколько функций, просто добавьте @ в начале.
Если вы хотите получить строку функций, вам нужно добавить double @, например «Ответ: @@{pipeline().parameters.myNumber}», возвращающий строку ответа: @{pipeline().parameters.myNumber}.

Более подробно вы можете ознакомиться с этой документацией.