【问题标题】:Reading/writing transient files in an Azure Worker Role在 Azure 辅助角色中读取/写入临时文件
【发布时间】:2023-03-15 14:48:01
【问题描述】:

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

Azure 辅助角色轮询这些文件并处理它们。我们使用第三方 SDK 进行需要文件系统路径或流的处理。直接从 blob 存储提供流是微不足道的,但 SDK 还希望输出我们的应用使用的物理元数据文件。

这是一个问题,因为 SDK 是一个黑匣子,不提供替代方案。有没有办法在临时文件的工作角色中进行本地存储。每个工作角色迭代只需要几秒钟的存储,如果角色被回收或关闭,则可能会被回收/丢弃。此外,文件相当大 (500MB+),因此不需要 blob 延迟。

四处搜索发现了一些 hacky 解决方法,其中最好的似乎是包装 blob 存储以让我们的角色将其作为文件系统访问。

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

【问题讨论】:

    标签: c# .net azure azure-blob-storage azure-worker-roles


    【解决方案1】:

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

    RoleEnvironment.GetLocalResource()

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

    祝你好运!

    【讨论】:

    • 谢谢。我会试试这个并恢复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 2012-11-29
    • 1970-01-01
    • 2011-08-22
    • 2014-11-09
    • 1970-01-01
    相关资源
    最近更新 更多