Microsoft Fabric: mssparkutils.notebook.exit с несколькими значениями или json/dict

В Fabric у меня есть блокнот с фреймом данных и некоторыми агрегатами. Я пытаюсь передать эти агрегированные значения дальше в активность Outlook365. Упрощенная версия передачи агрегатов выглядит следующим образом:

import json

summa = 250
snitt = 100

result = {
    'sum': summa,
    'snitt': snitt
}

result_json = json.dumps(result)

mssparkutils.notebook.exit(result_json)

Внутри Outlook365 я пытаюсь уловить значение «snitt» следующим образом:

@json(activity('exit').output.result.exitValue.snitt)

Но получаю ошибку: «Выражение 'json(activity('exit').output.result.exitValue.snitt)' не может быть вычислено, поскольку свойство 'snitt' не может быть выбрано. Выбор свойства не поддерживается для значений типа 'String'».

Есть ли обходной путь для этого? Моя цель — получить некоторые агрегаты из блокнота и передать их в Outlook365.

Я пытался проанализировать значение с помощью @json(activity('exit').output.result.exitValue.snitt) или просто с помощью @activity('exit').output.result.exitValue.snitt, но безуспешно.


1
197
1

Ответ:

Решено

exitValue из активности в блокноте exit имеет строковый тип. Именно по этой причине вы не можете получить из этого значение 'snitt'.

img:1 Вывод активности ноутбука

Правильный способ дать выражение таков:

@json(activity('exit').output.result.exitValue).snitt

Это выражение использует функцию «json» для анализа строки «exitValue» как объекта JSON, а затем использует точечную нотацию для извлечения значения «snitt» из объекта.