我已使用 Github Actions 将基于 Docker 化的 Django 的 Web 应用程序部署到 AppService (Linux)。
我的应用程序有一个 4.2MB 的 .csv 文件,我想访问该文件以实现应用程序中的某些功能。要在部署时访问该文件,我知道我可以将其上传到 Blob 存储,然后下载该文件,例如使用 get_blob_client(my_blob).download_blob()
但是,我想知道 .csv 文件在应用程序的已部署版本中是否可用?我觉得在应用程序内访问文件而不是从“远程”blob 存储中提取文件会占用更少的资源(但是,不可否认的是,我对 Azure 的架构了解不够,无法判断这种预感是否正确。)
在本地开发时,我的文件位于 approot/app/data/myfile.csv
中,我可以使用 open(os.path.join(settings.BASE_DIR, 'data/myfile.csv'))
。但是,部署时,我收到文件未找到错误,因为路径 approot/app/data/
显然在远程服务器上不存在。
我的问题:部署时 myfile.csv
是否上传到我的 AppService 实例?如果是这样,该文件位于哪里以及如何访问它? (大概是环境变量?)如果这是可能的,考虑到文件大小和访问频率(我预测每天几百次),这确实是比从 blob 存储下载文件更好的方法
最佳答案
您可以在 FileZilla/WinSCP 中访问/查看已部署的文件。 下载FileZilla Client或来自 google 的 WinSCP_Setup.exe 文件并安装。 输入来自 azure 门户的主机名、用户名和密码。 要获取端点、用户名和密码详细信息,请登录 Azure 门户。
转到部署中心 --> FTP 凭据, 复制所需的主机名(FTPS 端点)、用户名和密码并粘贴到 WinSCP 设置/FileZilla 客户端中。在 WinSCP/FileZilla 的右侧 Pane 中,您将找到已部署的应用程序的文件。
关于azure - 如何访问已部署的 AppService Web 应用程序中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69130899/