Как реализовать «отличную от» логическую функцию - PullRequest
0 голосов
/ 13 июня 2019

Я использую Get Metadata для получения имени файла в контейнере BLOB-объектов. У меня также есть README.md в этом же контейнере BLOB-объектов. Я хотел бы иметь возможность применить фильтр и установить значение переменной в зависимости от файлов, представленных в контейнере BLOB-объектов, но без учета файла README.md. Как это возможно?

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

@if(and(equals(greater(activity('FilterOnOthers').output.FilteredItemsCount,0),true),not(equals(activity('FilterOnOthers').output.Value[0],'README.md'))),'YES','NO')

Но это не работает, как ожидалось.

Спасибо за вашу помощь

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

Отличный вопрос! Вот почти надежный способ сделать это:

  • Создайте переменную типа Array в вашем конвейере, скажем 'x'.
  • Укажите действие get metadata для чтения папки и ее childItems, добавив дочерние элементы в список полей набора данных, как показано ниже (выделено):

enter image description here

  • После получения списка дочерних элементов в виде массива в выходной активности действия Get Metadata выполните цепочку действия ForEach, как показано на снимке экрана выше.
  • В действии ForEach для элементов используйте выражение: @activity ('Get Metadata1'). Output.childItems
  • На вкладке действий действия forEach создайте действие ifCondition. В операции ifCondition укажите условие. eg- @equals (item (). name, 'README.md').
  • На вкладке Операции условия ifCondition добавьте действие «Добавить переменную» для ложного условия.
  • В переменной Append добавьте значение: @item (). Name к переменной 'x'.
  • Теперь ваша переменная 'x' имеет все значения, кроме 'README.md'.

Надеюсь, я был ясен в объяснении.

0 голосов
/ 13 июня 2019

Вы можете использовать условие If Loop.В условии If Loop проверьте вывод метаданных.Условием должно быть имя файла README.md.Используйте желаемое действие в цикле If на основе TRUE / FALSE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...