创建自定义代码以解决Azure Logic App FTP连接器上缺少重命名操作的问题

时间:2018-05-23 23:28:25

标签: c# azure ftp azure-logic-apps

我们正在将现有的C#控制台应用程序转换为Azure解决方案。 非常基本的需求:

  1. 将文件存储为需要FTP到客户端的blob。
  2. 使用文件名等的JSON格式将消息插入服务总线主题。
  3. 让逻辑应用程序订阅主题并FTP文件。
  4. ftp服务器是我们的客户,我无法更改其设置。

    它会在文件放置后立即开始处理,并符合某种命名方式。

    过去我所做的就是将temp_放在文件的前面,然后创建它,然后重命名。

    完美。

    我们已经使用标准.Net代码工作了,但现在我正在尝试使用上面详述的Azure Logic应用程序来运行它。

    使用FTP连接器下的“创建文件”。如果我使用正确的名称创建它,它将失败,因为FTP服务器在Azure完成创建之前抓取文件。

    FTP连接器中没有重命名功能 - 有人告诉我我错过了什么吗?

    更新5-24-18 来自Microsoft技术支持:

      

    在进一步研究之后,这是不可行的   开箱即用的FTP连接器。

         

    逻辑应用程序的解决方法是从自定义代码执行此操作。您   可以使用FTP连接器的“创建文件”任务来创建文件   FTP服务器使用临时名称。然后,您可以调用自定义   Azure功能将登录到FTP服务器并重命名该文件。   这将要求您创建自定义函数。

         

    有关调用Azure功能的更多详细信息,请参阅以下链接   来自逻辑应用程序:

         

    https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-azure-functions

    我将尝试这样做,如果我可以将它作为答案发布它。

    如果有人想帮助我,那就太棒了!

    我想这里更大的问题是“为什么”?

    为什么要经历这一切?为什么不从一开始就使用C#功能?答案部分只是为了获得使用服务总线/主题等的经验......如果他们曾经更新过他们的FTP连接器,那将是一个简单的解决方案。但我仍然愿意接受其他答案或选择。

    顺便说一下 - 如果你认为这会有所帮助,请在这里投票支持:

    https://feedback.azure.com/forums/287593-logic-apps/suggestions/19499953-add-rename-action-to-sftp-ftp-storage-etc-connect

0 个答案:

没有答案