首页 > 解决方案 > Azure 函数,Blob 触发器:将数据文件从 Blob 复制到服务器

问题描述

我的要求是创建一个 blob 触发 azure 函数,该函数将在将特定文件(例如 trigger.txt)复制到容器中时触发。一旦触发,powershell 函数应将此 trigger.txt 复制到同一订阅和资源组中的 Azure windows VM。

如果存在示例 trigger.txt 文件,我可以看到该函数被触发。

我需要做什么才能将容器中的这个 blob 复制到 azure VM?我看到 azcopy 不起作用。

标签: azureazure-functionsazure-blob-storage

解决方案


您可以考虑以下方法之一

  • 使用 Azure 文件存储

    1. 将 Azure 文件存储挂载到 Windows VM
    2. Azure Function 将使用来自输入 blob 的内容在文件存储中创建一个新文件。由于没有对文件存储的绑定支持,因此您必须直接使用文件存储 SDK。

      您还可以考虑使用具有Blob 存储文件存储连接器的逻辑应用程序。但请注意,根据您的用例,您可能会遇到文件大小限制。

      最后,您可能需要考虑使用blob 事件来降低这两种方法的轮询成本。

  • 按照@silent 在评论中的建议,使用PowerShell 函数远程访问 VM,然后运行azcopy以下载文件

    有一个官方文档展示了如何使用可以参考的远程处理运行命令。该文档通过混合连接将远程连接到本地计算机的上下文,您可以忽略您的用例。

此外,如果您的 VM 没有公共端点,则必须使用支持VNET 集成的高级功能


推荐阅读