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

#azure #azure-data-factory #azure-data-factory-2

#лазурный #azure-фабрика данных #azure-data-factory-2

Вопрос:

Я хочу создать конвейер в ADF, проверяющий, имеет ли данные правильный формат. Я хочу проверить количество столбцов, размер файла и т.д. Если какое-либо из этих условий не будет выполнено, я хочу отправить электронное письмо. Это мой конвейер

Схема расположения трубопровода

Я написал первое условие в своем конвейере, и все работало правильно.

 @not(equals(activity('Get Metadata1').output.size,0)) 
 

Однако, когда я хотел добавить следующее условие. Так что все мое состояние выглядит примерно так.

 @not(equals(activity('Get Metadata1').output.size,0)) and equals(activity('Get Metadata1').output.columnCount,5)
 

Я начал получать это сообщение об ошибке.

‘not’ является примитивом и не поддерживает вложенные свойства

Не могли бы вы дать мне знать, как я могу подойти к этому вопросу?

Ответ №1:

Оператор [и] должен быть вызовом функции следующим образом…

 @and(not(equals(activity('Get Metadata1').output.size,0)),equals(activity('Get Metadata1').output.columnCount,5))
 

С 3 условиями…

 @and(and(not(equals(activity('Get Metadata1').output.size,0)),equals(activity('Get Metadata1').output.columnCount,5)),equals(activity('Get Metadata1').output.exists,true))
 

С 4 условиями…

 @and(and(and(not(equals(activity('Get Metadata1').output.size,0)),equals(activity('Get Metadata1').output.columnCount,5)),equals(activity('Get Metadata1').output.exists,true)),equals(1,1))
 

Смотрите Документацию по синтаксису функций выражения здесь.

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

1. Спасибо, не могли бы вы дать мне пример того, как вы это напишете? Было бы здорово, если бы это было возможно для моего случая.

2. Заменен весь ответ. Предыдущая информация была основана на другом наборе функций выражения. Извините за любую путаницу. Приведенный выше явный ответ предоставляет то, что вам нужно.

3. Спасибо, это сработало. Знаете ли вы, что я должен делать, когда хочу добавить более двух условий? Я могу добавить несколько и, но я сомневаюсь, есть ли какое-либо лучшее решение

4. Пожалуйста, ознакомьтесь с правками выше, чтобы показать примеры использования дополнительных условий. Я также добавил ссылку на документацию, которая должна помочь в любых будущих нуждах. Поскольку эта информация является ответом на ваш вопрос и просьбой о доработке, пожалуйста, отметьте этот ответ как ответ, чтобы другие могли увидеть, что в вашем вопросе есть решение, которое может помочь и им.