Проверьте, содержит ли таблица SQL значение в фабрике данных Azure

Мне нужно проверить, содержит ли конкретная таблица базы данных SQL переменную currentID.

В настоящее время я выполняю одно действие поиска (имя — GlobalIDs) для запроса таблицы SQL и получения данных. Результат поиска GlobalIDs показан ниже.

{
"count": 30,
"value": [
    {
        "Id": 1200934
    },
    {
        "Id": 1345323
    },
    {
        "Id": 1200932
    },
    {
        "Id": 1200334
    },

У меня также есть еще одно действие поиска (имя — CurrentIDs), которое возвращает еще один список текущих значений идентификаторов. У меня есть блок Foreach, внутри которого я просматриваю каждый из CurrentIDs и присваиваю переменной currentID повторяемое значение.

Учитывая теперь одну из итераций ForEach, вывод setVariable currentID выглядит следующим образом:

{ 
  "name": "currentId",
  "value": "1345323"
}

Теперь я хочу добавить условие If, чтобы проверить, существует ли это значение currentId в выходных значениях поиска GlobalIDs.

Я попробовал использовать условие if с содержанием, как показано ниже: @contains(activity('GlobalIDs').output.value, variables('currentId'))

Попробовал несколько предложений, найденных в Интернете, но условие If, похоже, не работает таким образом, поскольку оно всегда становится ложным, и я не вижу, чтобы для этого условия отображались какие-либо входные или выходные данные.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
162
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Похоже, GlobalIDs — это массив объектов. У каждого экземпляра есть одно свойство — Id.

Что мы можем сделать, так это создать объект с этим свойством, соответствующим currentId, следующим образом:

@contains(activity('GlobalIDs').output.value, {'Id': variables('currentId')})

Обновите свое состояние соответствующим образом.

Я все еще получал то же самое. Я не вижу никакой ошибки. Но я не вижу, чтобы условие If также оценивалось.

rsram312 18.04.2024 23:10

Я могу только подумать, чтобы попробовать это. @contains(union(activity('GlobalIDs').output.value, null) {'Id': variables('currentId')}). Это гарантирует, что GlobalIDs являются массивом.

Architect Jamie 18.04.2024 23:30
Ответ принят как подходящий
  • Я использовал ту же настройку, что и вы, с двумя действиями поиска и по одному для каждого действия.

  • Убедитесь, что у вас снят флажок First row only в обоих действиях поиска.

  • В разделе «Для каждого действия» установите флажок «Последовательно». Это позволит убедиться, что значение происходит последовательно.

  • Внутри каждого действия добавлены переменные активности и if активности.

-Условие активности задается как:

@contains(activity('GlobalIDs').output.value,json(concat('{"id":"',variables('currentId'),'"}"')))

Это гарантирует, что если таблица SQL содержит значение, оно будет иметь значение true.

[Если действие for-each параллельно, то все действия внутри for-each будут выполняться параллельно. Таким образом, входные данные для действия условия if не будут такими, как ожидалось. Это было бы что угодно. Это также может быть причиной того, что во всех случаях результат будет ложным.]

Эй, спасибо! Кажется, это работает, теперь оно переходит в состояние True. Однако условие if не отображает никаких входных или выходных данных, подобно тому, как мы видим другие действия в разделе вывода. Есть ли способ увидеть их активность If?

rsram312 19.04.2024 06:08

Да... У меня тоже это не показывалось. Я не уверен, сможем ли мы увидеть входные и выходные данные для if activity

Aswin 19.04.2024 06:15

Принял решение, буду копать дальше, если действие «Если» действительно может отображать ввод-вывод.

rsram312 19.04.2024 06:24

Дайте нам знать, если найдете что-нибудь об этом

Aswin 19.04.2024 12:53

Другие вопросы по теме

Похожие вопросы

Предложение по подписке «Доступ к Azure Active Directory» устарело
Как использовать конвейер данных копирования adf для одновременного создания нескольких таблиц
Запустите хранимую процедуру SQL для ПОЛУЧЕНИЯ данных с помощью приложения логики
Потоковая передача ответа в веб-API ASP.NET Core 6, работающем локально, но не в веб-приложении Azure, размещенном в Windows
Несколько хранилищ ключей Azure, связанных с одной и той же конфигурацией приложения, приводят к ошибке аутентификации в приложении весенней загрузки
Не удалось выполнить правильные действия по копированию данных контейнера BLOB-объектов в ADF в двух разных подписках в одном клиенте
В Applicaition Insights данные не отображаются
Создайте токен доступа для перечисления пользователей группы с помощью Graph Explorer или Postman
Сервер OAuth API Manager генерирует неверную заявку на аудиторию
Скопируйте данные общего доступа между подписками — здесь целевая подписка находится в виртуальной сети