要配置 Azure SignalR 绑定,请创建一个类型为 bindings.azure.signalr
的组件。请参考本指南了解如何创建和应用绑定配置。
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 # 可选
value: "<hub name>"
字段 | 必需 | 绑定支持 | 详情 | 示例 |
---|---|---|---|---|
connectionString | Y | 输出 | Azure SignalR 连接字符串 | "Endpoint=https://<your-azure-signalr>.service.signalr.net;AccessKey=<your-access-key>;Version=1.0;" |
hub | N | 输出 | 定义消息将发送到的 hub。hub 可以在发布到输出绑定时动态定义为元数据值(键为 “hub”) | "myhub" |
endpoint | N | 输出 | Azure SignalR 的端点;如果未包含在 connectionString 中或使用 Microsoft Entra ID,则必需 | "https://<your-azure-signalr>.service.signalr.net" |
accessKey | N | 输出 | 访问密钥 | "your-access-key" |
Azure SignalR 绑定组件支持所有 Microsoft Entra ID 认证机制。请参考认证到 Azure 的文档以了解更多关于根据您选择的 Microsoft Entra ID 认证机制的相关组件元数据字段。
您可以通过以下两种方式使用 Microsoft Entra ID 认证此组件:
endpoint
用于端点azureClientId
、azureTenantId
和 azureClientSecret
AuthType=aad
指定的连接字符串:Endpoint=https://<servicename>.service.signalr.net;AuthType=aad;Version=1.0;
Endpoint=https://<servicename>.service.signalr.net;AuthType=aad;ClientId=<clientid>;Version=1.0;
Endpoint=https://<servicename>.service.signalr.net;AuthType=aad;ClientId=<clientid>;ClientSecret=<clientsecret>;TenantId=<tenantid>;Version=1.0;
;
字符,则无法使用连接字符串。此组件支持具有以下操作的输出绑定:
create
默认情况下,Azure SignalR 输出绑定会向所有连接的用户广播消息。要缩小消息的接收范围,可以在消息的 Metadata 属性中配置以下选项:
发布到 Azure SignalR 输出绑定的应用程序应发送具有以下格式的消息:
{
"data": {
"Target": "<enter message name>",
"Arguments": [
{
"sender": "dapr",
"text": "Message from dapr output binding"
}
]
},
"metadata": {
"group": "chat123"
},
"operation": "create"
}
有关将 Azure SignalR 集成到解决方案中的更多信息,请查看文档