如何使用Python SDK将本地文件上传至Azure ML Studio Notebook
如何用Python SDK将本地文件上传至Azure ML Notebook标签页
当然可以通过Python SDK实现这个操作,本质是把文件上传到Azure ML工作区对应的Notebook存储容器中,以下是具体步骤和代码示例:
1. 安装依赖包
先确保安装所需的Python包:
pip install azure-ai-ml azure-storage-blob
2. 连接到Azure ML工作区
使用MLClient连接到你的工作区,可通过本地配置文件或直接指定参数:
from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential # 方式1:通过本地config.json文件加载(需提前下载工作区配置) ml_client = MLClient.from_config(credential=DefaultAzureCredential()) # 方式2:直接指定参数 # ml_client = MLClient( # credential=DefaultAzureCredential(), # subscription_id="你的订阅ID", # resource_group_name="你的资源组名称", # workspace_name="你的工作区名称" # )
3. 上传本地文件到Notebook存储
Azure ML的Notebook文件默认存储在工作区关联存储账户的azureml-notebooks容器中,用户的Notebook目录一般为Users/你的Azure用户名/,以下代码实现单文件上传:
from azure.storage.blob import BlobServiceClient # 获取工作区的存储账户信息 workspace = ml_client.workspaces.get(name=ml_client.workspace_name) storage_account_url = f"https://{workspace.storage_account_name}.blob.core.windows.net" # 初始化Blob服务客户端 blob_service_client = BlobServiceClient(account_url=storage_account_url, credential=DefaultAzureCredential()) # 配置上传目标路径 container_name = "azureml-notebooks" # 替换为你的用户名和目标文件名 target_blob_path = "Users/你的用户名/目标文件名.ipynb" # 替换为本地文件路径 local_file_path = "./本地文件路径/待上传文件.ipynb" # 执行上传 with open(local_file_path, "rb") as data: blob_client = blob_service_client.get_blob_client(container=container_name, blob=target_blob_path) blob_client.upload_blob(data, overwrite=True)
4. 上传文件夹的扩展方法
如果需要上传整个文件夹,可遍历本地文件夹中的文件,保持路径结构上传:
import os def upload_folder(local_folder_path, target_container_path): for root, dirs, files in os.walk(local_folder_path): for file in files: local_file = os.path.join(root, file) # 计算相对路径,保持文件夹结构 relative_path = os.path.relpath(local_file, local_folder_path) blob_path = os.path.join(target_container_path, relative_path).replace("\\", "/") with open(local_file, "rb") as data: blob_client = blob_service_client.get_blob_client(container=container_name, blob=blob_path) blob_client.upload_blob(data, overwrite=True) # 使用示例:上传本地notebooks文件夹到用户目录下的my-notebooks文件夹 upload_folder("./本地notebooks文件夹", "Users/你的用户名/my-notebooks")
上传完成后,刷新Azure ML界面的Notebook标签页,就能看到上传的文件/文件夹了。
内容的提问来源于stack exchange,提问作者Kumar Reddy
相关产品推荐
相关产品推荐

