Как передавать выходные данные функции Azure для каждого действия фабрики данных?

Я использую функцию Azure, используя код Python, чтобы получить список всех коллекций в Cosmos Db и передать выходные данные в действие For-Each в фабрике данных. Конечной целью является динамическое копирование всех коллекций в другую БД.

Псевдо-скрипт


List1=["col1","col2","col3"]

Json=json.dumps(List1)

return func.HttpsResponse(List1)

Скрипт python работает и успешно возвращает список всех коллекций.

Однако, когда я вызываю функцию через фабрику данных, на выходе появляется строка, а не массив. Для -Каждой активности происходит сбой, поскольку она ожидает Array.

Нужно ли мне изменить скрипт Python или нужно что-то изменить на стороне фабрики данных?

В этой ветке stackoverflow есть что-то похожее, но точного ответа о том, как написать скрипт, нет. текстЕсть ли какие-либо действия в фабрике данных Azure для получения списка коллекций космоса?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
110
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Однако, когда я вызываю функцию через фабрику данных, на выходе появляется строка, а не массив. Для -Каждой активности происходит сбой, поскольку она ожидает Array.

Я попробовал код ниже в своей среде и получил тот же результат в типе String.

List1=["col1","col2","col3"]
Json=json.dumps(List1)
return func.HttpResponse(Json)

Нужно ли мне изменить скрипт Python или нужно что-то изменить на стороне фабрики данных?

Чтобы использовать приведенный выше ответ в ForEach, вам нужно преобразовать его в массив. Для этого используйте функцию json().

Здесь для примера я преобразовал строковый ответ от действия функции Azure в переменную массива, используя приведенное ниже выражение. Вы можете использовать его в выражении ForEach.

@json(activity('Azure Function1').output.Response)

Вывод в виде массива:

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