Привязки ответов для функций с ActivityTrigger - PullRequest
0 голосов
/ 29 января 2019

Я хочу создать Durable Function , которая вызывает функцию Activity, а затем возвращает значение с помощью ядра dotnet в приложении функции v2.Функция, конечно, проверит свои входные данные, поэтому может вернуть успешное значение или неверную ошибку: 200 или 400 в терминах HTTP.Моя функция активности будет выглядеть примерно так:

[FunctionName("MyFunc")]
public static async Task<object> Run(
        [ActivityTrigger] string input,
        ILogger log)
{
    // return something like
    return new { Status = "OK", Content = content };
}

Какой тип возврата я должен использовать для этого?Должен ли мой собственный DTO быть правильным ответом, или есть способ вернуть объекты HttpResponse в оркестратор?

1 Ответ

0 голосов
/ 29 января 2019

Я думаю, что здесь может быть более простое решение.Рассматривали ли вы возврат простого значения, если ваша проверка прошла успешно, и создание исключения, обработанного оркестратором, если ваша проверка не пройдена?

Привязка ActivityTrigger обрабатывает как ввод, так и вывод.Согласно документам по обработке ошибок , функция действия может возвращать оркестратору любой вид JSON-сериализуемого объекта, а необработанные исключения, выданные функцией действия, перенаправляются обратно в оркестратор, где они могут обрабатыватьсяперехватывать блоки.

Командлет Activity-orchestrator не использует HTTP-запросы и ответы;он использует таблицы хранилища Azure для записи событий истории и очереди хранилища Azure для запуска действий по выполнению асинхронной работы или пробуждению оркестратора после завершения асинхронной работы какого-либо действия, соответственно.Если вам не нужен объект HttpResponse где-то в вашей оркестровке, нет необходимости заключать возвращаемое значение вашей активности в один.

...