Azure 编辑 blob

Azure Edit blob

我将各种文件类型上传到 blob 存储中。我需要 edit/read 使用第三方工具(Exiftool、Imagemagick 等 - 我知道我可以使用媒体服务,但我必须使用这些工具)来处理这些文件。一旦文件在 blob 存储中,我的工作者角色是否必须从存储中下载 blob 才能使用该文件?问题的原因是我正在处理非常大的文件(视频、图像等),我不一定要使用 MemoryStream。

如果我必须将文件从存储下载到比方说一个临时文件夹中,对性能有何影响?editing/reading 文件还有其他选择吗?

第三方工具将与文件系统一起工作,它们不太可能具有 Azure REST 的内置知识API。因此,您有两个主要选择:

  1. 将 blob 下载到本地磁盘,然后将本地文件名提供给 3rd 方工具。如果存储帐户和 vm 实例位于同一区域,此下载应该相当有效。您将根据存储帐户限制(您可以阅读有关可扩展性目标 here)和 VM NIC(高端 VM 具有更大的网络带宽)
  2. 进行限制
  3. 创建一个 Azure 文件服务 SMB 卷(由 blob 存储支持),而不是直接使用 blob。这使您可以将卷安装到 VM 并像使用本地文件系统一样使用它(只要您的第 3 方工具可以使用 SMB 卷)。 注意:如果您已经将内容直接存储在 blob 中,那么除非您选择将内容复制到文件服务卷中,否则文件服务并不是一个真正的选择。

选项 #1 将通过工具本身为您提供最佳性能,因为它可以与本地副本一起使用。每个存储帐户可以获得 500TB。

选项 #2 可让您将该工具指向任何文件而无需复制,但访问本身将通过本地网络进行,并且会比本地访问慢。每个 SMB 卷可获得 5TB。