当前位置: 首页 > 知识库问答 >
问题:

如何触发从Azure服务总线队列到Azure Data Lake的消息?

吴飞语
2023-03-14

我写了C#程序,发送消息到Azure服务总线队列,这是正常工作。现在,我需要通过Azure函数将服务总线队列中收到的消息传递到数据湖,但据我所知,Azure函数不支持数据湖的绑定/触发器。是否有任何方法触发到Azure Data Lake的服务总线队列消息?提前感谢。

共有2个答案

黄伟
2023-03-14

我已经成功地将数据从服务总线队列提交到数据湖,这个想法是使用webJobs,它有一个函数类,每当我们的服务总线队列接收到任何数据时就会触发该类。函数的主方法包含以下代码:

 JobHostConfiguration config = new JobHostConfiguration();
 config.UseServiceBus();
 JobHost host = new JobHost(config);
 DataLakeClass.Authentication(); // this is basically a function where my client got authenticated and further able to create csv file at data lake and append data to it.
 host.RunAndBlock();

注意:对于webjobs,您需要在Azure上创建webapp,然后创建webjobs,然后只需发布代码。有关详细帮助,您可以问更多问题。

荆炳
2023-03-14

可以设置Azure Functions ServiceBusTrigger并使用Azure Data Lake。NET SDK中的函数代码。请按照此处的说明使用外部Nuget包。如果逻辑应用连接器可用,使用它可能会更容易,因为这将负责使用AAD进行身份验证,而不是直接使用SDK。

 类似资料:
  • 在.NET core 2.0中使用创建时,我遇到了一个问题。 在体系结构中,当在用于创建用户的队列中创建新消息时,服务必须接收该消息并根据其中的信息在数据库中创建用户。 在Visual Studio2017中,我在下创建了一个新项目。 这种的正确实现是什么?在GitHub上有什么例子吗?提前道谢。

  • 我有一个应用程序,在这个应用程序中,我可以在进程的一部分中以JSON格式将消息写入Azure服务总线队列。我有一个下游进程,我想将该消息从队列中弹出,将json转换为一个对象,然后处理该对象。 我没有问题将消息推送到队列上,但我还没有找到任何将消息从队列中逐一或循环弹出的示例。我在微软或Github上看到的每一个例子都是一个控制台应用程序(在网络应用程序中毫无用处),它设置了某种侦听器,可以抓取队

  • 我有一个windows服务,它侦听Azure服务总线队列消息,以便从我的WebApi应用程序分发处理。此外,我还需要处理重复性任务(每晚/每周),我认为最好使用相同的系统来处理这些任务。 例如,假设我有一个“CleanupDb”队列,每天午夜删除过时的DB节点: 理论上这应该行得通,但我觉得我错过了一个更明显的处理方法。有没有更好的办法?

  • 创建了Azure函数,该函数是在Visual Studio中触发并从Visual Studio发布到Azure的服务总线。 每当消息进入队列时,手动运行时,该函数在本地正常运行。但我们的期望是,当消息在队列中时,函数应该自动触发。 我只是手动添加一条新消息,并查看日志,如果函数被自动触发,但它不是。当我检查应用程序洞察时,我发现下面的错误日志 函数“ProcessVideos”的侦听器无法启动。服

  • 我正在尝试创建以下进程: 为了连接两端(IoT Hub和Notification Hub),我尝试按照以下教程操作:https://www.developer.com/ws/android/senging-notifications-to-mobile-apps-fromon-azure-function-apps.html 此外,我还添加了从IoT集线器到服务总线中适当队列的路由。 现在,每当I

  • 我们目前正在利用Azure服务总线来处理来自应用程序的各种消息。 我想知道实时处理这些消息的最佳方式是什么? 有没有一种方法可以在消息放入队列时自动执行脚本? 我只是在想,一定有比让一个单独的应用程序每分钟/30秒检查一次队列更好的方法。 谢谢各位