当第3方系统使用REST API时,BizTalk Server是否支持通过Azure文件共享交换大文件?

时间:2019-05-22 13:42:50

标签: biztalk azure-files

  

”从BizTalk Server 2016开始,您可以连接到Azure文件   使用文件适配器共享。 Azure存储帐户必须为   安装在您的BizTalk Server上。”

     

来源:https://docs.microsoft.com/en-us/biztalk/core/configure-the-file-adapter

因此,乍一看,这似乎是受支持的事情。直到最近,我们一直在将BizTalk Server与Azure文件共享一起使用没有问题。但是,我们现在正在寻求交换较大的文件(大约2 MB)。 BizTalk Server正在使用文件,没有任何错误,但文件仅包含NUL字节。 (跟踪数据库中的消息大小正确,但填充了NUL个字节)。

写入文件的系统(Azure Logic应用程序,Azure存储资源管理器)出现以下错误:

AddServer

如果我们尝试使用Windows资源管理器(因此使用SMB协议)将文件上传到已安装的驱动器,则BizTalk Server可以毫无问题地拾取文件。

这样,我怀疑当写入或使用文件的系统使用REST API而不是SMB协议时,不支持BizTalk Server文件适配器。

所以我的问题是:

  • 这是否是对某处记录的BizTalk Server支持的Azure File Share的警告?
  • 我们可以做些什么来做这项工作吗?
  • 还是我们只需要使用其他方式交换文件?

我们未成功调查/尝试以下操作:

  • 我在Azure文件存储连接器中看不到任何设置(如 由Logic Apps使用),以确保文件被锁定直到被锁定 完全书面。
  • 尝试使用文件适配器高级适配器属性“读取时重命名文件”,但这不能解决问题。

2 个答案:

答案 0 :(得分:1)

查看SFTP-SSH connector。它会进行消息分块,文件总大小为1 GB或更小,并且为:Provides the Rename file action, which renames a file on the SFTP server. !!

在ISE环境中,您可能会利用total file size of 5B

答案 1 :(得分:0)

这是我们为选择此选项而实施的解决方案。

可选选项:我们坚持使用Azure文件共享并实施了信号文件模式

  • 集成系统的Logic Apps将信号文件写入创建消息文件的同一文件夹。信号文件具有相同的文件名,但扩展名为.done。例如myfile.json.done。
  • 在BizTalk解决方案中,已编写了一个自定义管道组件来检索信号文件的相关消息文件。
  • 注意:担心Azure文件连接器仍处于预览状态。

折扣选项1:Logic Apps使用BizTalk Server连接器

  • 尽管这行得通,但我渴望在系统和BizTalk之间保持一层隔离。这允许部署BizTalk应用程序而不会导致端点停机到系统。
  • 限制BizTalk Server的负载均衡(限制)功能。注意:我们有一个custom file adapter来限制文件的获取速度。
  • 此选项还需要设置“本地数据网关”。

折扣选项2:使用文件系统连接器

  • Logic Apps以2MB的块大小写入文件,然后释放对该文件的锁定。这使BizTalk可以立即提取文件。当连接器尝试写入下一个2MB的块时,该文件不再可用,因此失败,并显示400状态错误“请求的操作无法完成。请检查您的请求参数以确保路径//test.json'文件系统中已存在。”
  • 文件大小限制为20MB。
  • 必需的本地数据网关的设置。注意:我们也认为这是介绍使用Integration Service Environment(ISE)在vNET中托管Logic Apps的好时机。这种想法是,这将使系统与网络内的BizTalk之间保持文件交换。但是,当前有no ISE specific connector for the File System

折扣选项3:使用SFTP连接器

  • 我们期望使用ftp的逻辑应用程序在写入文件时会遇到类似的分块问题。
  • Azure SFTP连接器没有重命名操作。
  • 我们渴望避免使用此老化协议。
  • 我们渴望避免额外的基础架构和软件来支持SFTP。

折扣选项4:Logic Apps在写入后重命名文件

  • File Storage REST API或文件连接器中没有重命名操作。仅复制动作。我们关心的问题是,复制仍然需要时间来写入文件,因此仍然存在相同的分块问题。

折扣选项5:逻辑应用程序对Service Bus Connector的使用

折扣选项6:使用Azure文件同步将文件镜像到另一个位置。