HTTP-триггер с использованием потока октетов

Можно ли создать триггер HTTP Функций Azure, который использует application/octet-stream вместо application/json?

В настоящее время у меня есть триггер для application/json.

Вы можете использовать «application/json-data-stream», обратитесь к этой теме SO здесь — stackoverflow.com/questions/67301743/…

SiddheshDesai 26.04.2023 12:03

Кроме того, вы можете напрямую изменить привязку к потоку в function.json, см. здесь. Для языков с динамическим типом, таких как JavaScript, используйте свойство dataType в файле function.json. Например, чтобы прочитать содержимое HTTP-запроса в двоичном формате, установите для dataType значение binary: { "dataType": "binary", "type": "httpTrigger", "name": "req", "direction": " in" } Другими параметрами dataType являются поток и строка.

SiddheshDesai 26.04.2023 12:05

См. здесь - github.com/MicrosoftDocs/azure-docs/blob/main/articles/…

SiddheshDesai 26.04.2023 12:05
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
102
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Для потоковой передачи данных в HTTP-триггере в виде потока: -

В соответствии с этим документом Github, вы можете отредактировать файл function.json вашего HTTP-триггера с типом данных как двоичный или поток для потоковой передачи данных, как показано ниже:

код function.json: -

{

"generatedBy": "Microsoft.NET.Sdk.Functions.Generator-4.1.1",

"configurationSource": "attributes",

"bindings": [

{

"type": "httpTrigger",

"direction": "in",

"dataType": "stream",

"route": "myroute",

"methods": [

"post"

],

"authLevel": "function",

"name": "req"

}

],

"disabled": false,

"scriptFile": "../bin/FunctionApp9.dll",

"entryPoint": "MyFunction.RunAsync"

}

Дополнительно по этому ТАК Thread ответ Энди. Ссылаясь на код Энди, я получил следующий вывод в своем браузере после запуска триггера http: - Здесь для response.ContentType установлено значение «application/json-data-stream»;

Код Энди: - Функция.cs: -

using Microsoft.AspNetCore.Mvc; using Microsoft.Azure.WebJobs; using
Microsoft.Azure.WebJobs.Extensions.Http; using
Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using
Newtonsoft.Json; using System.Collections.Generic;

namespace FunctionApp10 {
    public class Function1
    {
        private async IAsyncEnumerable<string> GetDataAsync()
        {
            for (var i = 0; i < 100; ++i)
            {
                yield return "{\"hello\":\"world\"}";
            }
        }

        [FunctionName("Function1")]
        public async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            var response = req.HttpContext.Response;

            await using var sw = new StreamWriter(response.Body);
            await foreach (var msg in GetDataAsync())
            {
                await sw.WriteLineAsync(msg);
            }

            await sw.FlushAsync();

            response.StatusCode = 200;
            response.ContentType = "application/json-data-stream";

            return new EmptyResult();
        }
    }
  } 

Выход:- Триггер был выполнен: -

Получил потоковый ответ в браузере, как показано ниже:

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