如何从azure功能应用发送信号r通知给azure广告身份验证的用户?

问题描述

您好,我有一个Azure数据工厂,该工厂将由用户触发,他们会通过Azure广告隐式流进行身份验证。运行后,ADF会将事件发送到服务总线。现在,我必须基于服务总线触发器编写azure函数应用程序。在应用程序功能中,我想通过信号r向用户发送通知。但是我的问题是,只有谁触发了adf,我才需要发送通知。 UI将触发adf,而adf将事件发送到服务总线,在此流程中,UI将用户信息发送到adf,而adf也将用户信息发送到服务总线事件。但是在azure功能应用中,我只想向触发ADF的用户发送通知

public void broadcastMessage(string message)
    {
        Clients.Caller.SendAsync("broadcastMessage",message);
    }

当前我在其他应用程序中使用的上面的代码将向Web应用程序发送通知。进入天蓝色功能应用程序时,我如何仅向触发ADF的特定用户发送通知。我已经看到了一些使用Azure应用服务身份验证的示例,但是没有看到关于Azure广告的示例。我的前端目前正在进行azure广告身份验证,并已部署到应用程序服务中,但我没有应用程序服务身份验证。有人可以帮助我吗,或者正确的方法是什么?任何帮助将不胜感激。谢谢

解决方法

negotiate endpoint接受一个UserId参数,该参数可以传递给以后识别要通知的用户。

虽然该示例正在获取应用程序服务的用户身份,但是如果您使用的是C#,则可以利用runtime binding。对于非C#语言,您可以有一个“内部”协商函数,该函数由“外部”协商函数调用,并传入从JWT令牌中提取的用户身份。

以此,您可以在启动ADF管道并传递此值的函数中提取相同的用户身份,该ADF可以将其包含在稍后发送的服务总线消息中。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...