当我使用 AzureML jupyter 时,我使用 (./folder_name) 将文件保存到同一目录。现在如何下载到本地计算机或 Blob 存储?
该文件夹中有很多文件和子目录,是我在网上抓取的。所以一一保存不太现实。
file_path = "./"
for i in target_key_word:
tem_str = i.replace(' ', '+')
dir_name = file_path + i
if not os.path.exists(dir_name):
os.mkdir(dir_name)
else:
print("Directory " , dir_name , " already exists")
感谢这是一个老问题,但对于其他有此问题的人来说,这就是我的做法。
在 Azure ML Notebooks 主页中打开一个新的终端窗口。
使用以下命令压缩整个目录:
zip -r myfiles.zip .
刷新文件夹资源管理器并下载 zip 文件。
如果您询问如何从 Azure ML Studio 的 Notebooks GUI 下载所有文件和文件夹,我希望有一种简单的方法可以做到这一点。据我所知,您现在可以执行以下操作:
Open in Explorer
。File Shares
文件夹并找到前缀为 code-
的文件夹。您可以在这里找到所有文件和文件夹,您可以将它们批量下载到本地。据我了解,您想下载项目文件:
您可以执行以下操作之一:
在项目页面中,单击“下载项目”按钮以下载给定项目的所有文件。
或
转到 Azure Notebooks 并登录。
从您的公共个人资料页面中,选择顶部的“我的项目” 页。
浏览器窗口顶部的“我的项目”链接
选择项目。
单击下载 Download 按钮触发 zip 文件下载 其中包含您的所有项目文件。
下载 Notebooks 的另一个选项是通过 azure ML studio UI 进行“在 VS Code 中编辑”。在 VS Code 中打开它后,右键单击该文件夹,然后会出现一个选项“下载” 您可以将这些文件保存到本地,然后根据需要重新上传。
from azureml.core import Workspace
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
import os
# Load Azure ML workspace
ws = Workspace.from_config()
# Azure Blob Storage connection string
blob_connection_string = "<your_blob_connection_string>"
container_name = "<your_container_name>"
# Folder to be copied
folder_path = "<folder_path>"
# Create a blob service client
blob_service_client = BlobServiceClient.from_connection_string(blob_connection_string)
# Create a container client
container_client = blob_service_client.get_container_client(container_name)
# List files in the folder
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
# Upload each file to the blob storage container
with open(file_path, "rb") as data:
blob_client = container_client.get_blob_client(file_path.replace(folder_path, ""))
blob_client.upload_blob(data)