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

如何在Azure虚拟机运行Python脚本并读写本地CSV?若不可行,Azure云存储方案?

我来帮你梳理下这个问题的解决方案,分两种场景来具体说明:

直接让Azure VM访问本地电脑CSV文件的方法(临时调试适用)

首先明确:Azure虚拟机是运行在云端的独立服务器,默认没法直接访问你本地电脑的文件系统。但可以通过网络共享的方式实现,适合临时测试用,步骤如下:

  • 第一步:在本地电脑共享CSV所在文件夹
    • Windows:右键目标文件夹 → 属性 → 共享 → 高级共享,勾选「共享此文件夹」,配置好可读/可写的权限
    • macOS/Linux:开启SMB共享服务,将目标文件夹加入共享列表,设置访问账户权限
  • 第二步:确保VM和本地电脑在同一可访问网络
    • 推荐用Azure点到点VPN连接本地和VM网络;如果只是临时测试,也可以开放本地防火墙的SMB端口(445),用VM的公共IP访问,但这种方式安全性低,不适合生产
  • 第三步:在Azure VM里挂载本地共享文件夹
    • Windows VM:打开命令提示符,运行 net use Z: \\本地电脑IP\共享文件夹名 /user:本地电脑用户名 密码,挂载后就能用Z:\xxx.csv访问文件
    • Linux VM:先安装cifs-utils,再运行 sudo mount -t cifs //本地电脑IP/共享文件夹名 /mnt/local-share -o username=本地电脑用户名,password=密码,挂载后用/mnt/local-share/xxx.csv访问

⚠️ 注意:这种方式依赖网络稳定性,且有安全风险,仅适合临时调试,不建议生产环境使用。

用Azure云存储解决(生产级推荐)

如果直接访问本地文件不可行(比如网络限制、安全合规要求),Azure云存储是更可靠的方案,主要有两种选择:

方案1:Azure Blob存储(适合批量数据处理)

Blob存储是Azure专门用于存储非结构化数据的服务,适配CSV这类文件的存储与批量处理,步骤如下:

  1. 在Azure门户创建存储账户,再在账户内创建一个Blob容器(比如命名为csv-data)
  2. 将本地CSV文件上传到容器(可用Azure门户、Azure Storage Explorer工具,或Azure CLI命令)
  3. 在Azure VM里安装Python的Blob SDK:pip install azure-storage-blob
  4. 修改Python脚本,直接从Blob存储读写文件,示例代码:
from azure.storage.blob import BlobServiceClient
import pandas as pd

# 替换为你的存储账户连接字符串
connect_str = "你的存储账户连接字符串"
blob_service_client = BlobServiceClient.from_connection_string(connect_str)

# 读取Blob中的CSV文件
container_client = blob_service_client.get_container_client("csv-data")
blob_client = container_client.get_blob_client("input.csv")
with open("temp_input.csv", "wb") as f:
    f.write(blob_client.download_blob().readall())

# 处理CSV(以pandas为例)
df = pd.read_csv("temp_input.csv")
# 你的业务处理逻辑...
df.to_csv("temp_output.csv", index=False)

# 将处理后的文件上传回Blob
output_blob_client = container_client.get_blob_client("output.csv")
with open("temp_output.csv", "rb") as f:
    output_blob_client.upload_blob(f, overwrite=True)

方案2:Azure Files存储(适合兼容现有脚本)

如果你希望脚本不用大幅修改,仍像操作本地文件一样读写,Azure Files可以创建云文件共享,直接挂载到VM中,步骤如下:

  1. 在Azure门户创建存储账户(可与Blob共用,也可单独创建),再创建文件共享(比如命名为csv-share)
  2. 将本地CSV上传到文件共享(可用门户、Storage Explorer或CLI)
  3. 在Azure VM里挂载该共享:
    • Windows VM:运行 net use Z: \\存储账户名.file.core.windows.net\csv-share /user:AZURE\存储账户名 存储账户密钥
    • Linux VM:安装cifs-utils后,运行 sudo mount -t cifs //存储账户名.file.core.windows.net/csv-share /mnt/azure-files -o username=存储账户名,password=存储账户密钥,serverino
  4. 挂载完成后,脚本直接用挂载路径(比如Z:\input.csv或/mnt/azure-files/input.csv)读写文件,和操作本地文件完全一致,无需大量修改代码
总结
  • 临时测试、小文件场景:可采用本地SMB共享,但需注意网络稳定性与安全风险
  • 生产环境、稳定需求:优先选择Azure Blob或Files存储,其中Blob适合批量数据处理,Files适合兼容现有脚本的场景

内容的提问来源于stack exchange,提问作者Pepin Peng

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:33:45