BizTalk 中的事件中心适配器
概述
从 BizTalk Server 2016 功能包 2 开始,可以在 BizTalk Server 和 Azure 事件中心 之间发送和接收消息。
Azure 事件中心 是一个高度可缩放的数据流式处理平台,每秒可以接收和处理数百万个事件。 什么是事件中心? 提供了更多详细信息。
必备条件
- 创建 Azure 事件中心命名空间和事件中心
- 使用 容器创建 Azure Blob 存储帐户
- 在BizTalk Server上安装功能包 2
现在已创建事件中心,已具有收发事件所需的连接字符串。
将消息发送到事件中心
在BizTalk Server管理控制台中,右键单击“发送端口”,选择“新建”,然后选择“静态单向发送端口”。
创建发送端口 提供了一些指导。
输入“名称”。 在 “传输”中,将 “类型 ”设置为“ EventHub”,然后选择“ 配置”。
配置 Azure 帐户 属性:
使用此选项 要执行此操作 登录 登录到 Azure 帐户 订阅 选择具有 EventHubs 命名空间的订阅 资源组 选择具有 EventHubs 命名空间的资源组 配置 终结点 属性:
使用此选项 要执行此操作 Namespace 选择事件中心命名空间,类似于 sb:// youreventhubnamespace.servicebus.windows.net/ 名称 选择在事件中心命名空间中创建的事件中心 (的名称) 默认分区键 可选。 事件中心编程指南 提供了有关此密钥的更多详细信息。 身份验证 命名空间访问签名 是默认签名,它会自动使用创建事件中心命名空间时创建的 RootManageSharedAccessKey。
实体访问签名 是在事件中心级别 (而不是事件中心命名空间级别) 创建的 SAS 策略。
事件中心功能概述 介绍了详细信息。完成后,属性如下所示:
可选。 配置 消息 属性。 用户定义的消息属性的命名空间值表示映射到事件中心消息属性的上下文属性的命名空间。 这可以使用属性架构来实现。
选择“ 确定” 保存更改。
测试发送端口
可以使用简单的文件接收端口和位置将消息发送到 Azure 事件中心。
使用文件适配器创建接收端口。 在接收位置中,将 Receive 文件夹 设置为 C:\Temp\In\,并将文件掩码设置为 *.xml。
在事件中心发送端口属性中,将 “筛选器” 设置为
BTS.ReceivePortName == FileReceivePort
。将以下内容粘贴到文本编辑器中,并将文件另存为 EventHubMessage.xml。 这是你的示例消息。
<Data> <DataID>DataID_0</DataID> <DataDetails>DataDetails_0</DataDetails> </Data>
启动文件接收位置和事件中心发送端口。
将EventHubMessage.xml 示例邮件复制到接收文件夹中 (C:\Temp\In) 。 发送端口将 XML 文件发送到事件中心。
从事件中心接收消息
在BizTalk Server管理控制台中,右键单击“接收端口”,选择“新建”,然后选择“单向接收端口”。
创建接收端口 提供了一些指导。
输入名称,然后选择“ 接收位置”。
选择“ 新建”,并为接收位置 命名 。 在“传输”中,从“类型”下拉列表中选择“EventHub”,然后选择“配置”。
配置 Azure 帐户 属性:
使用此选项 要执行此操作 登录 登录到 Azure 帐户 订阅 选择具有 EventHubs 命名空间的订阅 资源组 选择具有 EventHubs 命名空间的资源组 配置 终结点 属性:
使用此选项 要执行此操作 Namespace 选择事件中心命名空间,类似于 sb:// youreventhubnamespace.servicebus.windows.net/ 名称 选择在事件中心命名空间中创建的事件中心 (的名称) 使用者组 在事件中心内选择“使用者”组。 系统会自动创建默认组。
事件中心功能概述 提供了更多详细信息。身份验证 命名空间访问签名 是默认签名,它会自动使用创建事件中心命名空间时创建的 RootManageSharedAccessKey。
实体访问签名 是在事件中心级别 (而不是事件中心命名空间级别) 创建的 SAS 策略。
事件中心功能概述 介绍了详细信息。完成后,属性如下所示:
配置 检查点 属性。 此适配器使用 Azure Blob 存储帐户通过检查点可靠地读取事件,并从重启后恢复。
存储身份验证
选择身份验证方法。 通常,建议使用共享访问签名。 以下链接是很好的资源,可帮助你确定哪种方案适合你的方案:
有关 Azure 存储帐户
使用共享访问签名 (SAS)完成后,属性如下所示:
配置 消息 属性:
使用此选项 要执行此操作 用户定义的消息属性的命名空间 http://schemas.microsoft.com/BizTalk/EventHubAdapter/EventData/User
是默认架构,但可以输入另一个架构。 此值表示映射到事件中心消息属性的 BizTalk 消息架构。提升用户定义的属性 可选。 如果需要,可以提升这些属性。
注意
需要提升的属性应在接收事件 之前 部署属性架构。选择“ 确定” 保存更改。
测试接收设置
可以使用简单的文件发送端口从 Azure 事件中心接收消息。
- 使用文件适配器创建发送端口。 在发送端口属性中,将 Destination 文件夹 设置为 C:\Temp\Out\,并将 和 文件名 设置为 %MessageID%.xml。
- 在“文件发送端口”属性中,将 “筛选器” 设置为
BTS.ReceivePortName == EHReceivePort
。 - 启动事件中心接收位置和文件发送端口。
- 在目标文件夹中查找 (c:\temp\out) 的邮件。
执行更多操作
事件中心被视为许多其他 Azure 服务的“前门”,包括 Azure Data Lake、HD Insight 等。 它旨在处理大量消息,并快速处理它们。 详细了解事件中心及其功能: