Azure / Azure/azure-functions-host

[Feature Request] Allow Workers to Submit Output Bindings during execution

Open
#5,808 0 comments 1 reaction 0 assignees View on GitHub
feature:language-extensibility
Dominant language
C#
Stars
2k
Forks
482
Avg merge
2d 12h
Merged PRs (30d)
38

Description

#### What problem would the feature you're requesting solve? Please describe.
If a worker function wants to, say, write to a table output binding, and there is a problem with that binding, there is no way to inform the worker function that the table binding is incorrect during execution so that it can take appropriate action, therefore CreateIfNotExists and other patterns are not possible without leveraging direct SDKs, which kind of defeats the point of using outputbinding in the first place.

#### Describe the solution you'd like
Add an RPC call for workers to be able to submit output bindings during invocation and have them immediately evaluated, so that if there is a problem (e.g. table entry already exists), an exception response can be sent to the worker so that it or its downstream function can react accordingly *during* execution.

#### Describe alternatives you've considered
Direct SDK access to Table API/Cosmos/etc., kind of defeats the point of using output bindings though

#### Additional context
https://github.com/Azure/azure-functions-language-worker-protobuf/issues/47

Contributor guide

Open the contributing guide

Research direction

No source files or tests are identified in the issue. Start by reviewing the proposed worker-language protobuf RPC in the linked issue, then trace how the host handles worker invocations and output bindings. Done means workers can submit bindings during execution and receive binding errors during that invocation.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.