我正在使用 Azure 函数和 signalR 创建实时聊天。它在本地工作得很好,但部署的“协商”功能不起作用。
协商函数(index.js)
module.exports = function (context, req, connectionInfo) {
context.res = { body: connectionInfo };
context.done();
}
配置文件(function.json)
{
"disabled": false,
"bindings": [
{
"authLevel": "anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req"
},
{
"type": "http",
"direction": "out",
"name": "res"
},
{
"type": "signalRConnectionInfo",
"name": "connectionInfo",
"hubName": "chat",
"direction": "in",
"connectionStringSetting": "AzureSignalRConnectionString"
}
]
}
AzureSignalRConnectionString 在函数应用属性中设置。我还尝试使用“connectionString”而不是“connectionStringSetting”并使用连接字符串而不是“AzureSignalRConnectionString”引用,以及我们在这里拥有的所有 4 种可能的组合。
如果我在 Azure 门户中运行该函数,我会收到以下错误:
[错误] 执行“Functions.negotiate”(失败,Id=0ac24b1f-1ab0-40f5-9680-34db547e1cc9)
无法解析属性“SignalRConnectionInfoAttribute.ConnectionStringSetting”的值。确保设置存在并且具有有效值