我在 Azure 中设置了 SignalR 服务帐户。
我已将其设置为无服务器。
这记录在此处,在规则设置下:https ://docs.microsoft.com/en-us/azure/azure-signalr/concept-upstream#rule-settings
我在 Node/TypeScript 中创建了一个 AZ Functions 应用程序,其中我有一个具有 SignalRTrigger 输入和 SignalRMessages 输出的函数。考虑以下函数。
函数.js
{
"bindings": [
{
"type": "signalRTrigger",
"name": "invocation",
"hubName": "mailbox",
"category": "messages",
"event": "heartbeat",
"connectionStringSetting": "AzureSignalRConnectionString",
"parameterNames":[
"mailboxId"
],
"direction": "in"
},
{
"type": "signalR",
"name": "signalRMessages",
"hubName": "mailbox",
"connectionStringSetting": "AzureSignalRConnectionString",
"direction": "out"
}
],
"scriptFile": "../dist/heartbeat/index.js"
}
和 index.js
import { AzureFunction, Context } from "@azure/functions"
const heartbeatTrigger: AzureFunction = async function (context: Context, invocation: any): Promise<void> {
context.log.info('Heartbeat function executed');
let mbid = context.bindingData.mailboxId;
// output a hearbeat received
context.bindings.signalRMessages = [{
"target": "heartbeatReceived",
"arguments": [mbid]
}];
};
export default heartbeatTrigger;
当我在 Vue 应用程序中使用 @aspnet/signalr 客户端时,我可以连接到 SignalR 集线器。
当我尝试使用时,myConnection.send('heartbeat', '123')
我希望上述函数被调用。
这没有发生。我似乎无法触发该功能。
有人可以帮忙吗?