如何将文件夹从 AzureML 笔记本文件夹下载到本地或 Blob 存储?

问题描述 投票:0回答:5

当我使用 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")
python azure azure-storage azure-blob-storage azure-machine-learning-service
5个回答
12
投票

感谢这是一个老问题,但对于其他有此问题的人来说,这就是我的做法。

  1. 在 Azure ML Notebooks 主页中打开一个新的终端窗口。

  2. 使用以下命令压缩整个目录:

     zip -r myfiles.zip . 
    
  3. 刷新文件夹资源管理器并下载 zip 文件。


3
投票

如果您询问如何从 Azure ML Studio 的 Notebooks GUI 下载所有文件和文件夹,我希望有一种简单的方法可以做到这一点。据我所知,您现在可以执行以下操作:

  1. 您必须下载 Azure Storage Explorer 并导航到链接到 Azure 门户中的 ML 工作区的 Blob 存储(您可以通过导航到 ML 工作区的概述部分找到精确的 Blob 存储帐户)。
  2. 从资源组中打开链接的 Blob 存储后,导航到概述部分,您应在其中选择
    Open in Explorer
  3. 存储资源管理器打开后,您可以通过将 Azure Blob 存储连接到资源管理器来链接它(这非常简单,您只需从“访问密钥”部分获取密钥即可)。
  4. 链接存储帐户后,导航到
    File Shares
    文件夹并找到前缀为
    code-
    的文件夹。您可以在这里找到所有文件和文件夹,您可以将它们批量下载到本地。

0
投票

据我了解,您想下载项目文件:

您可以执行以下操作之一:

在项目页面中,单击“下载项目”按钮以下载给定项目的所有文件。

  1. 转到 Azure Notebooks 并登录。

  2. 从您的公共个人资料页面中,选择顶部的“我的项目” 页。

  3. 浏览器窗口顶部的“我的项目”链接

  4. 选择项目。

  5. 单击下载 Download 按钮触发 zip 文件下载 其中包含您的所有项目文件。


0
投票

下载 Notebooks 的另一个选项是通过 azure ML studio UI 进行“在 VS Code 中编辑”。在 VS Code 中打开它后,右键单击该文件夹,然后会出现一个选项“下载” 您可以将这些文件保存到本地,然后根据需要重新上传。


0
投票
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)
© www.soinside.com 2019 - 2024. All rights reserved.