Как настроить выходы HTTP в Функциях Azure

У меня есть простая функция Azure, для которой я настроил вывод DocumentDB (в качестве примера):

Снимок экрана выходных данных DocumentDB функций Azure

Затем я добавил к функции параметр outputDocument и присвоил ему значение в коде (кстати, я был удивлен, когда я настраивал вывод, что среда выполнения не изменяла автоматически подпись функции):

using System;

public static void Run(string input, out object outputDocument, TraceWriter log)
{
    log.Info($"C# manually triggered function called with input: {input}");

    outputDocument = new {
        text = $"I'm running in a C# function! {input}"
    };
}

Когда я запускаю функцию, среда выполнения Функций Azure выполняет магию привязки, и создается документ DocumentDB.

Затем я настроил вывод HTTP:

HTTP-вывод функций Azure

и определил выходной параметр res.

Но что теперь? Как происходит назначение res? Я, конечно, должен определить пункт назначения, тип запроса, параметры и т. Д.


person Howiecamp    schedule 27.08.2016    source источник
comment
Анонимному голосующему против - спасибо за продолжение традиции SO - отрицать голос без комментариев относительно того, почему. Не дает мне абсолютно никаких отзывов о том, как улучшить.   -  person Howiecamp    schedule 27.08.2016


Ответы (1)


Howiecamp,

Привязка вывода HTTP работает вместе с триггером HTTP, чтобы действовать как обработчик ответа на запрос HTTP.

В настоящее время нет выходной привязки, которая отправляла бы выходные данные по HTTP для вас, поэтому вам нужно будет сделать этот HTTP-запрос из кода вашей функции (например, используя HttpClient и выполнив запрос). Вы можете увидеть пример в одном из наших шаблонов здесь: https://github.com/Azure/azure-webjobs-sdk-templates/blob/10650dbf9c4bad75b0c89b9c355edc53fe913cde/Templates/GitHubCommenter-CSharp/r40-L49x#

Надеюсь, это поможет!

person Fabio Cavalcante    schedule 28.08.2016
comment
Благодарю. Какова же тогда цель типа вывода HTTP, который я могу выбрать из списка выводов? Очевидно, что в случае вывода DocumentDB и других, привязка соответствует параметру out и обрабатывает логику вызова (например, создание документа DocDb). Могу ли я что-нибудь сделать с res (имя переменной вывода http по умолчанию)? Тип вывода http только в пользовательском интерфейсе, но еще не полностью реализован? (Отчасти рудиментарный.) - person Howiecamp; 28.08.2016
comment
Эта привязка - особый случай. Как упоминалось в ответе выше, он работает вместе с триггером HTTP, на языках .Net значение присваивается в зависимости от типа возвращаемого значения вашей функции (HttpResponseMessage, POCO, строка и т. Д.) В Node, например, вы можете назначить ответ на привязку с использованием ее имени. Это ответ только обязательный. В настоящее время нет привязки вывода HTTP-запроса, которая привязывалась бы к параметру функции. - person Fabio Cavalcante; 28.08.2016
comment
Попался. Спасибо за объяснение. Ключевое, что я сейчас понимаю, это то, что я должен сделать http-запрос в моем коде функции. - person Howiecamp; 28.08.2016
comment
так ли это до сих пор? there isn't an output binding that would send the output payload over HTTP for you - или это возможно спустя 2 года? - person Alex Gordon; 29.03.2019
comment
Привет? нет ли еще привязки вывода http без триггера http? - person Alex Gordon; 22.08.2019