首页 文章

在Azure辅助角色中读取/写入临时文件

提问于
浏览
1

我们有一个多租户系统,包括Azure Web角色,工作者角色和桌面/移动应用程序 . 每个客户端应用程序都允许上传路由到特定于租户的Azure Blob存储帐户的图像 .

Azure辅助角色轮询这些文件并对其进行处理 . 我们使用第三方SDK进行处理,需要文件系统路径或流 . 直接从blob存储提供流是微不足道的,但SDK也期望吐出我们的应用程序消耗的物理元数据文件 .

这是一个问题,因为SDK是一个黑盒子,并没有提供替代方案 . 有没有办法在工作者角色中为瞬态文件提供本地存储 . 此存储仅在每个工作人员角色迭代中需要几秒钟,并且如果角色被回收或关闭,则可以回收/丢弃该存储 . 此外,文件相当大(500MB),因此不需要blob延迟 .

搜索周围显示了一些hacky解决方法,其中最好的解决方案似乎包含blob存储,让我们的角色作为文件系统访问它 .

有没有办法简单地访问类似于Web角色App_Data文件夹的文件系统?

1 回答

  • 3

    您可以使用Azure辅助角色中的RoleEnvironment.GetLocalResource()来获取本地文件存储的命名句柄:

    RoleEnvironment.GetLocalResource()

    这将避免可能随时间变化的特定文件路径的硬编码等 .

    祝好运!

相关问题