#azure #azure-data-factory #azure-data-factory-2 #azure-data-factory-pipeline
#azure #azure-data-factory #azure-data-factory-2 #azure-data-factory-конвейер
Вопрос:
Я пытаюсь выполнить логический тест для сравнения двух выходных данных activity. Первое возвращает имя файла (полученное из getMetadata), а другое — отдельные имена файлов, которые уже есть в базе данных (полученные из операции поиска).
Итак, первое действие выдает X.csv (файл в Blob0, а второе — список Y.csv; Z.csv (результат выбора поиска, отличный от таблицы X). Основываясь на этом результате, я бы сказал, что логический тест верен, поэтому ADF должен начать определенное действие. Я использую приведенное ниже выражение, но, несмотря на то, что ошибок нет, результат всегда false. Что я делаю не так? Я думаю, это как-то связано с активностью поиска, потому что запрос выдаст список значений, я думаю.
пожалуйста, помогите, заранее спасибо!
@equals(activity('GetBlobName').output,activity('LookupBestandsnaam').output)
Поиск активности вывода bestandsnaam:
Выходное действие GetBlobName:
Комментарии:
1. Выходные данные двух действий четко показывают разные ключи и значения и, как ожидается, будут возвращать false только в том случае, если оба они одинаково равны с одинаковыми (количество и имя) ключами и значениями.
2. Спасибо, Патрик. Я исправил это с помощью sp в SQL
Ответ №1:
Выходные данные поиска и получения метаданных отличаются:
- Операция поиска считывает и возвращает содержимое файла конфигурации или таблицы.
- Получить действие метаданных для извлечения метаданных любых данных в Azure Data Factory
Мы не можем сравнивать выходные данные напрямую. Вы всегда будете получать false
выражение условия if.
Пожалуйста, попробуйте следующее выражение:
@equals(activity('GetBlobName').output.value.name,activity('LookupBestandsnaam').output.value.bestandsnaam)
Обновить:
Поздравляем, что вы используете другой способ решить эту проблему:
«Теперь я заменил условие if хранимой процедурой, которая использует сценарий IF exists, выполняемый на основе активности поиска в ADF».
Комментарии:
1. Привет, Леон, спасибо за твой ответ. К сожалению, ваше предложение не увенчалось успехом. Теперь я заменил условие if хранимой процедурой, которая использует сценарий IF exists, выполняемый на основе активности поиска в ADF. Еще раз спасибо! Лучшие,
2. @DickterSchiphorst Добро пожаловать. Могу ли я добавить это к своему ответу? Тогда другие могут узнать, что ваш вопрос теперь решен.
3. Конечно, Леон! Спасибо за вашу помощь!
4. @DickterSchiphorst Добро пожаловать. Не могли бы вы принять это как ответ? Это может быть полезно для других участников сообщества. Спасибо!