如何访问已部署的App Service Web应用中的.csv文件及最优方案选择
问题1:文件部署到App Service的相关疑问
- Docker化部署到Linux App Service时,应用运行所需的所有文件都来自你构建的Docker镜像,不存在额外的文件上传逻辑。你遇到的文件不存在报错,本质是构建镜像时没有把
app/data/myfile.csv打包到镜像内的对应路径。 - 你可以先在本地完成镜像构建后,启动容器执行
docker exec <你的容器ID> ls /app/data验证文件是否存在。只要镜像内路径和本地开发路径一致,部署到App Service后不需要修改路径,也不需要额外通过环境变量获取路径,直接使用你本地的open(os.path.join(settings.BASE_DIR, 'data/myfile.csv'))即可正常访问。 - 先检查你的
.dockerignore文件是否配置了忽略data目录或者.csv文件的规则,删除对应规则后重新构建推送镜像即可解决问题。
问题2:本地文件和Blob Storage的方案对比
- 针对你4.2MB小文件、日访问量仅几百次的场景,直接访问容器内本地文件的方案远优于Blob Storage方案,优势非常明确:
- 无网络请求开销,不需要调用Blob存储的接口、走内部存储链路,响应速度至少快一个量级,CPU、内存资源消耗也更低,也不会产生额外的Blob存储访问费用
- 不需要处理Blob下载的异常、重试逻辑,代码更简洁,也不会出现网络波动导致的文件加载失败问题
- 这种只读的小体积静态文件直接打包到镜像内即可,完全不需要引入Blob存储,是当前场景下的最优方案。
内容的提问来源于stack exchange,提问作者Simon
相关产品推荐
相关产品推荐

