现在在Linux VM中,我使用以下命令上传单个文件:
azure storage blob upload -q /folder/file.txt --container containerName
是否可以同时上传更多文件? (使用单个命令)
答案 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存储以及完整的容器副本返回到本地存储。 [完全披露:我是此代码的撰稿人]