You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure函数中访问约50MB的中型静态文件?

解决Azure函数调用时使用50MB静态文件的方案
  • 借助本地临时存储复用文件
    Azure函数实例提供了临时存储目录,可通过TEMP或TMP环境变量获取路径。你可以在函数首次调用时,从Azure Blob Storage这类外部存储下载50MB的静态文件到临时目录,后续同一实例的调用直接读取本地文件即可。实例回收时临时文件会被清除,但新实例启动时重新下载一次就行,能有效减少重复下载的开销。示例代码如下:

    import os
    from azure.storage.blob import BlobServiceClient
    
    def main(req):
        temp_dir = os.environ.get("TEMP")
        target_file = os.path.join(temp_dir, "static_file.bin")
        
        if not os.path.exists(target_file):
            # 从Blob Storage下载文件,需提前在函数配置中添加存储连接字符串
            blob_client = BlobServiceClient.from_connection_string(
                os.environ["STORAGE_CONN_STR"]
            ).get_blob_client(container="static-files", blob="your-file")
            with open(target_file, "wb") as f:
                f.write(blob_client.download_blob().readall())
        
        # 这里写使用静态文件的业务逻辑
        return "File ready for use"
    
  • 将文件打包进部署包
    如果你的函数使用专用计划或弹性高级计划,直接把静态文件和函数代码一起打包部署即可。即使是消耗计划,50MB的文件也在250MB的部署包大小限制内,只是冷启动时间会略有增加。代码中直接通过相对路径访问文件:

    import os
    
    def main(req):
        file_path = os.path.join(os.path.dirname(__file__), "static_file.bin")
        # 执行文件相关操作
        return "File loaded"
    
  • 挂载Azure Files共享
    要是需要多个实例共享同一份静态文件,或者文件需要长期保留且偶尔更新,可以把Azure Files共享挂载到函数实例的文件系统。在Azure门户的函数应用配置里找到"存储挂载"选项,完成挂载配置后,代码就能直接通过挂载路径访问文件,无需每次下载,适合文件复用率高的场景。

内容的提问来源于stack exchange,提问作者Lakshay Dulani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 13:19:59