Features
-
Support identity-based connections. Please note it does not work for SignalR Trigger now. After assign the
SignalR Service Owner
role to your Azure identity, and configure your identity, you don't need connetion string.DefalutAzureCredential
and other credentials are supported. The following<CONNECTION_NAME_PREFIX>
defaults toAzureSignalRConnectionString
, and could be customized withConnectionStringSetting
. Please note that the:
in keys at local should be replaced with__
on Azure portal.- To use
DefaultAzureCredential
, set inlocal.settings.json
On Azure portal, set as follows:{ "Values": { "<CONNECTION_NAME_PREFIX>:serviceUri": "https://<SIGNALR_RESOURCE_NAME>.service.signalr.net" } }
<CONNECTION_NAME_PREFIX>__serviceUri=https://<SIGNALR_RESOURCE_NAME>.service.signalr.net
- To use managed-identity, set on Azure portal:
<CONNECTION_NAME_PREFIX>__serviceUri = https://<SIGNALR_RESOURCE_NAME>.service.signalr.net <CONNECTION_NAME_PREFIX>__credential = managedidentity <CONNECTION_NAME_PREFIX>__clientId = <client-id> # With this line, use user-assigned identity, otherwise, use system-assigned identity
- To use Azure application identity,
-
Choice 1
You could set aserviceUri
as well as pre-defined environment variables. For example, onlocal.settings.json
:{ "Values": { "<CONNECTION_NAME_PREFIX>:serviceUri": "https://<SIGNALR_RESOURCE_NAME>.service.signalr.net", "AZURE_CLIENT_ID":"...", "AZURE_CLIENT_SECRET":"...", "AZURE_TENANT_ID":"..." } }
-
Choice 2
{ "Values": { "<CONNECTION_NAME_PREFIX>:serviceUri": "https://<SIGNALR_RESOURCE_NAME>.service.signalr.net", "<CONNECTION_NAME_PREFIX>:clientId": "...", "<CONNECTION_NAME_PREFIX>:clientSecret": "...", "<CONNECTION_NAME_PREFIX>:tenantId": "..." } }
-
- To use
-
Support a global connection string setting for all the SignalR trigger functions in
ServerlessHub
.
Usage: Add aSignalRConnection
attribute to your class derived fromServerlessHub
as follows. Then all the SignalR trigger insides your class will look up the connection string whose key isMyConnection
. This setting has higher priority than the function-based setting.
[SignalRConnection("MyConnection")]
public class SimpleChat : ServerlessHub
{
}