Azure / Azure/azure-functions-host

Out of proc languages stream support

Open
#1,361 55 comments 70 reactions 0 assignees View on GitHub
feature:language-extensibility needs-investigation stack: node-js
Dominant language
C#
Stars
2k
Forks
482
Avg merge
2d 10h
Merged PRs (30d)
36

Description

For all Node.js bindings (trigger/input/output) streaming is not supported - the data is put into an in memory buffer first. This can cause out of memory issues for people attempting to process large blobs for example.

We should investigate ways to support a streaming model, as you can optionally do in C# (by binding to a Stream). E.g. we might have a binding hint that allows the function to request a stream, and we provide the user code with a stream over the underlying SDK stream.

Note that if we move out of process for languages, streaming is complicated. We need to consider this when making any new programming model decisions.

Contributor guide

Open the contributing guide

Research direction

The issue mentions Node.js trigger, input, and output bindings, plus C# Stream binding as a comparison; start by mapping how these bindings currently buffer data for out-of-process languages. Done means defining and implementing a viable streaming model for large blobs while accounting for its impact on future programming-model decisions.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp, node.js
Domain
backend, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.