The documentation you are viewing is for Dapr v1.9 which is an older version of Dapr. For up-to-date documentation, see the latest version.
Azure SignalR binding spec
Component format
To setup Azure SignalR binding create a component of type bindings.azure.signalr
. See this guide on how to create and apply a binding configuration.
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: <NAME>
spec:
type: bindings.azure.signalr
version: v1
metadata:
- name: connectionString
value: Endpoint=https://<your-azure-signalr>.service.signalr.net;AccessKey=<your-access-key>;Version=1.0;
- name: hub # Optional
value: <hub name>
Warning
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described here.Spec metadata fields
Field | Required | Binding support | Details | Example |
---|---|---|---|---|
connectionString |
Y | Output | The Azure SignalR connection string | "Endpoint=https://<your-azure-signalr>.service.signalr.net;AccessKey=<your-access-key>;Version=1.0;" |
hub |
N | Output | Defines the hub in which the message will be send. The hub can be dynamically defined as a metadata value when publishing to an output binding (key is “hub”) | "myhub" |
endpoint |
N | Output | Endpoint of Azure SignalR; required if not included in the connectionString or if using Azure AD |
https://<your-azure-signalr>.service.signalr.net |
accessKey |
N | Output | Access key | your-access-key |
Azure Active Directory (Azure AD) authentication
The Azure SignalR binding component supports authentication using all Azure Active Directory mechanisms. See the docs for authenticating to Azure to learn more about the relevant component metadata fields based on your choice of Azure AD authentication mechanism.
You have two options to authenticate this component with Azure AD:
- Pass individual metadata keys:
endpoint
for the endpoint- If needed:
azureClientId
,azureTenantId
andazureClientSecret
- Pass a connection string with
AuthType=aad
specified:- System-assigned managed identity:
Endpoint=https://<servicename>.service.signalr.net;AuthType=aad;Version=1.0;
- User-assigned managed identity:
Endpoint=https://<servicename>.service.signalr.net;AuthType=aad;ClientId=<clientid>;Version=1.0;
- Azure AD application:
Endpoint=https://<servicename>.service.signalr.net;AuthType=aad;ClientId=<clientid>;ClientSecret=<clientsecret>;TenantId=<tenantid>;Version=1.0;
Note that you cannot use a connection string if your application’s ClientSecret contains a;
character.
- System-assigned managed identity:
Binding support
This component supports output binding with the following operations:
create
Additional information
By default the Azure SignalR output binding will broadcast messages to all connected users. To narrow the audience there are two options, both configurable in the Metadata property of the message:
- group: Sends the message to a specific Azure SignalR group
- user: Sends the message to a specific Azure SignalR user
Applications publishing to an Azure SignalR output binding should send a message with the following contract:
{
"data": {
"Target": "<enter message name>",
"Arguments": [
{
"sender": "dapr",
"text": "Message from dapr output binding"
}
]
},
"metadata": {
"group": "chat123"
},
"operation": "create"
}
For more information on integration Azure SignalR into a solution check the documentation
Related links
- Basic schema for a Dapr component
- Bindings building block
- How-To: Trigger application with input binding
- How-To: Use bindings to interface with external resources
- Bindings API reference
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.