Dynamics 365 触发调用 Azure Service Bus (服务总线)队列,并通过Azure Function 进行消费队列消息

创建Azure Service Bus (服务总线)应用

首先登录到Azure的应用服务中心
https://portal.azure.com/

搜索选择Service Bus (中文搜索:服务总线)

在这里插入图片描述
创建部署Service Bus应用服务 (中文搜索:服务总线)

在这里插入图片描述
进入应用界面如下图

在这里插入图片描述

创建队列

定位到队列导航,创建一个队列

在这里插入图片描述

创建成功,点击进入队列管理页面

在这里插入图片描述

Dynamics 365 触发插入队列消息

在队列管理界面,定位到设置=》共享访问策略,点击添加

在这里插入图片描述
在新建的策略中,复制 “主连接字符串” 到记事本
在这里插入图片描述现在打开dynamics 365 的插件注册工具,并连接dynamics 365 对应环境,点击 Register ,并选择 Register New Service Endpoint

在这里插入图片描述
将刚复制的文本粘贴到如下图所示位置。
在这里插入图片描述

弹出页面点击保存。

注意:如果MQ的消息出现乱码,下面"Message Format"改为JSON类型。

在这里插入图片描述

创建成功如下图
在这里插入图片描述

为创建好的ServiceEndpoint创建一个步骤

在这里插入图片描述

回到Dynamics 365 系统环境中,创建一条客户记录,来验证一下

在这里插入图片描述

到Azure的队列管理界面查看是否有对应的队列生成

在这里插入图片描述

结合Azure Function 来消费队列消息

打开VS,创建一个触发类型为 “Service Bus Queue trigger” 的 Azure Function,如何创建项目及发布Azure Function 可参照文章 “Dynamics 365 触发调用 Azure Function”

在这里插入图片描述

这里的连接字符串和队列名称(ServiceBusConnectionString、%QueueName%)其实是要存储在Azure的配置文件里的,具体添加方式如下图,在函数应用(Azure Function)管理页面,定位到配置,然后添加新应用程序设置,添加好记得点击"保存"按钮。
在这里插入图片描述
其中"ServiceBusConnectionString"要在服务总线(Service Bus)的"共享访问策略"中获取,在创建服务总线的时候,默认会有一个名称为"RootManageSharedAccessKey"的策略,这个和上面创建队列的策略类似,里面的 "主连接字符串"就是ServiceBusConnectionString的value

注意:这里的共享访问策略一定要选择服务总线(Service Bus)的,而不是队列的策略。

在这里插入图片描述

创建完一个简单的代码示例如下图,然后发布Azure Function

在这里插入图片描述

然后在函数的"监视"中,可以看到调用的队列日志。

在这里插入图片描述

当触发Azure Function的ServiceBus Trigger后,队列里的消息就会自动消费掉,如果代码中报错,则尝试执行10次后,进入死信队列

在这里插入图片描述

如需VS调试调用 service bus queue trigger,运行后,出现如下图所示,添加断点后,直接在Azure的服务总线队列中手动添加队列,或从其他如dynamics 365触发队列,即可进入本地断点调试。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值