Simon
Simon

Reputation: 21

Azure Function in a Container App with Serverless SignalR

I'm using a Serverless SignalR resource with an Azure Function running in a Container App. How can I get the system key for the signalr extension? I was previously using a Function App but decided to move to ACA for better scaling options. The signalr_extension system key is automatically created when the signalr function binding is deployed, but I have no way of getting the key to use for the Upstream URL in SignalR Settings. Is there way around this?

Upvotes: 1

Views: 43

Answers (1)

Pravallika KV
Pravallika KV

Reputation: 8694

When you deploy the SignalR serverless function to Azure Container Apps, you lose the convenience of the signalr_extension system key.

  • As mentioned in MSDOC, SignalR Service needs an Upstream URL to access Function App when you're using SignalR Service trigger binding.

  • The signalr_extension system key (which is necessary for configuring the SignalR service with Upstream URL in SignalR Settings) will be generated automatically when you deploy the function to Azure function App.

  • Signalr_extension feature is available only for Azure function Apps(not feasible in Azure container apps).

Follow below steps to run the function deployed to Azure container apps:

  • Retrieve the connection string of SignalR service instance (which includes access to the system keys) from the Azure portal.

  • Add the connection string for setting the Upstream URL in your SignalR settings.

Endpoint=https://signalr_instance.service.signalr.net;AuthType=azure.msi;Version=1.0;
  • Configure the connection string as an environment variable or use it within the containerized application to use the SignalR service.
AzureSignalRConnectionString=<SignalR_Connection_String>

As an alternative, you can choose Default mode when all the hubs have hub servers as signalr_extension is unavailable in case of Container apps.

enter image description here

Upvotes: 0

Related Questions