Я точно воспроизвожу вашу проблему на моей стороне.
Я думаю, что результат подсчета не может быть отображен как обычный JsonObject. В качестве обходного пути, я думаю, вы можете просто использовать Azure Функциональное действие (внутри Azure Функциональный метод, вы можете использовать SDK для выполнения любого sql, как вы хотите) для вывода желаемого результата: {"number":10}
. Затем связать Azure Функция Activity с другими действиями в ADF.
Здесь есть противоречие:
Запрос sql выводит скалярный массив, а не другие вещи, такие как jsonObject или даже jsonstring .
Однако ADF Look Up Activity принимает только JObject, но не JValue. Я не могу использовать никакую встроенную функцию преобразования, потому что запрос sql должен быть выполнен с правильным синтаксисом в любом случае. Я уже отправил тикет в службу поддержки MS, но мне не повезло с этим ограничением.
Я также попробовал select count(1) as num from c
, который работает в космосе ДБ портал. Но у него все еще есть ограничение, потому что sql пересекает разделы.
Итак, все, что я могу здесь сделать, это попытаться объяснить причину root проблемы, но не может изменить поведение продукта.
2 грубых идеи:
1. Попробуйте выполнить сборку без разделов для выполнения выше sql, чтобы получить json вывод.
2. Если число не велико, попробуйте запросить столбцы из db и l oop результат с помощью ForEach Activity.