从 Linux 上传 Azure Blob 存储中的多个文件

Upload multiple files in Azure Blob Storage from Linux

是否可以使用终端或应用程序(基于或不基于 Web)从 Linux 计算机将多个文件上传到 Azure Blob 存储?

感谢您的关注 – 从 Linux:

上传 Azure Blob 中的文件有两种选择
  1. 按照以下步骤设置和使用 XPlatCLI:

    • http://azure.microsoft.com/en-us/documentation/articles/xplat-cli/
    • 安装 OS X 安装程序
    • 打开终端 window 并通过下载和使用发布设置文件或使用组织帐户登录到 Azure(在此处查找说明)连接到您的 Azure 订阅
    • 创建一个环境变量AZURE_STORAGE_CONNECTION_STRING并设置它的值(你需要你的账户名和账户密钥):“DefaultEndpointsProtocol=https;AccountName=enter_your_account;AccountKey=enter_your_key ”
    • 使用以下命令将文件上传到 Azure blob 存储:azure storage blob upload [file] [container] [blob]
  2. 使用第三方 Web Azure 存储浏览器之一,如 CloudPortam:http://www.cloudportam.com/。 您可以在此处找到 Azure 存储资源管理器的完整列表:http://blogs.msdn.com/b/windowsazurestorage/archive/2014/03/11/windows-azure-storage-explorers-2014.aspx.

如果您更喜欢命令行并且最近有一个 Python 解释器,Azure Batch 和 HPC 团队已经发布了一个代码示例,其中包含一些 AzCopy-like functionality on Python called blobxfer。这允许完整的递归目录进入 Azure 存储以及将完整的容器复制回本地存储。 [完全披露:我是此代码的贡献者]

您可以使用 find 命令和 exec 选项来执行上传每个文件的命令,如此处所述 as described here:

find *.csv -exec az storage blob upload --file {} --container-name \
CONTAINER_NAME --name {} --connection-string=‘CONNECTION_STRING’ \;

其中 CONNECTION_STRING 是您的 Azure Blob 存储容器的连接字符串,可从 portal.azure.com 获得。这会将目录中的所有 CSV 文件上传到与连接字符串关联的 Azure Blob 存储。