Missing binding data in Azure function

Neščivera Ján (ERNI) 65 Reputation points
2025-09-12T13:56:20.5433333+00:00

Hello,

we have an SignalR trigerred Azure function (Node.js runtime, model v3) that is trigerred by our SignalR Service "connected" event. Here is the input binding configuration:

{
  "type": "signalRTrigger",
  "name": "connInfo",
  "hubName": "remoteSupportHub",
  "category": "connections",
  "event": "connected",
  "direction": "in"
},

Azure function is reading binding data from context.bindingData as folows:

const assetUrn = context.bindingData.claims.assetUrn; // custom claim from access token
const rsrId = context.bindingData.claims.rsrId; // custom claim from access token
const userId = context.bindingData.userId;
const connId = context.bindingData.connectionId;

// use the above variables for further processing

this was working without issues until 27. August 2025, when we started getting errors, because those variables contained undefined values.

This looks like for some reason claims and other properties that we used to read, are no longer present in bindingData object. We also logged the complete bindingData object itself and indeed its almost empty now (it contains only "invocationId" property)

Is there some explanation for this? Was there some planned change in Azure that we missed that changed content of bindingData?

There is another way of reading binding data (using context.bindings.connInfo or introducing additional argument into function signature), so we have a fix, but thats not the point of this question. The point is how could we have prevented this - was there some expected change in Azure that we missed? Or was this unintentional breaking change by Azure? Or did we use it incorrectly from the start and it just happened to work?

Azure Functions
Azure Functions

An Azure service that provides an event-driven serverless compute platform.


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.