Azure / Azure/azure-functions-host

Linux nodejs function with multiple eventhub output bindings not sending data

Open
#7,162 5 comments 0 reactions 2 assignees Claimed by @v-anvari View on GitHub
needs-investigation
Dominant language
C#
Stars
2k
Forks
482
Avg merge
2d 12h
Merged PRs (30d)
38

Description

Short intro:
HTTP Trigger which is calling the function, then take a message and put that via output binding to 4 other eventhubs

- Timestamp: 2021-02-17T09:53:41.423
- Function App version: 3
- Function App name: [company data, try to deliver everything else]
- Function name(s) (as appropriate): Functions.HttpTrigger1
- Host InstanceId ID: f00d3e73-aec3-4f1d-9931-fbd2e8c0e309
- Executing 'Functions.HttpTrigger1' ID: 2b28d94b-82d6-4ba0-8069-4d4d5d065c02
- Region: westeu
[cannot see the function started id in the logs]

#### Repro steps

Provide the steps required to reproduce the problem:
- create four eventhubs
- create a function app in an appserviceplan
- create a http trigger function with four output bindings to the corresponding eventhubs
- call that function

#### Expected behavior
Would have expected the message to be delivered to all four eventhubs

#### Actual behavior
Nothing happens, just trigger no error no issue.

#### Known workarounds
none

BUT if you comment out three of the four output bindings then the left one ist working.
You can do this for every output, so the connection strings are not the problem.
AND the same can be reproduced with python...

#### Related information
Stack NodeJS
NodeJs 12 LTS
Authorization anonymous

Appsettings the Connectiong strings to the hubs

Source

```javascript

module.exports = async function (context, req) {

const name = (req.query.name || (req.body && req.body.name));
const responseMessage = name
? "Hello, " + name + ". This HTTP triggered function executed successfully."
: "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";

let tempBufferDEV = [{'fruit':'Apple'}, {'fruit':name}];
let tempBufferTEST = [{'fruit':'Apple'}, {'fruit':name}];
let tempBufferSTAGE = [{'fruit':'Apple'}, {'fruit':name}];
let tempBufferPROD = [{'fruit':'Apple'}, {'fruit':name}];

// test
context.bindings.outputEventHubIoTDataMessagesTest = tempBufferTEST;

// dev
context.bindings.outputEventHubIoTDataMessagesDev = tempBufferDEV;

// stage
context.bindings.outputEventHubIoTDataMessagesStage = tempBufferSTAGE;

// prod
context.bindings.outputEventHubIoTDataMessagesProd = tempBufferPROD;

context.res = {
// status: 200, /* Defaults to 200 */
body: responseMessage
};
}```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.