将多个文件从linux文件夹上载到Azure Blob存储

时间:2015-03-06 13:43:25

标签: azure-storage azure-storage-blobs


现在在Linux VM中,我使用以下命令上传单个文件:
azure storage blob upload -q /folder/file.txt --container containerName

是否可以同时上传更多文件? (使用单个命令)

3 个答案:

答案 0 :(得分:5)

你可以使用这样的循环

#!/bin/bash

export AZURE_STORAGE_ACCOUNT='your_account'
export AZURE_STORAGE_ACCESS_KEY='your_access_key'

export container_name='name_of_the_container_to_create'
export source_folder=~/path_to_local_file_to_upload/*


echo "Creating the container..."
azure storage container create $container_name

for f in $source_folder
do
  echo "Uploading $f file..."
  azure storage blob upload $f $container_name $(basename $f)
  cat $f
done

echo "Listing the blobs..."
azure storage blob list $container_name

echo "Done"

答案 1 :(得分:1)

命令行没有在一次调用中批量上传多个文件的选项。但是,您可以使用find或循环来上传多个文件,或者如果从Windows执行此操作是一个选项,那么您可以查看使用AzCopy工具(http://aka.ms/azcopy)。

答案 2 :(得分:0)

如果您可以访问Linux VM上最近的Python解释器并且所有文件都在一个目录中,那么Azure批处理和HPC团队已经发布了一些代码示例,其中包含一些可能对您的情况有帮助的AzCopy-like functionality on Python called blobxfer 。该脚本允许完整的递归目录进入Azure存储以及完整的容器副本返回到本地存储。 [完全披露:我是此代码的撰稿人]