现在在Linux虚拟机中,我使用以下命令上载一个文件:
azure storage blob upload-q/folder/file。txt—容器名称
是否可以同时上载更多文件?(使用单个命令)
您可以使用这样的循环
#!/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"
命令行没有在一次调用中批量上载多个文件的选项。但是,您可以使用查找或循环上载多个文件,或者如果可以从Windows执行此操作,则可以使用AzCopy工具(http://aka.ms/azcopy).
如果您可以访问Linux虚拟机上最近的Python解释器,并且您的所有文件都在一个目录中,那么Azure批处理和HPC团队已经发布了一个代码示例,其中包含Python上一些类似AzCopy的功能,名为blobxfer,这可能有助于解决您的问题。该脚本允许完全递归目录进入Azure存储,以及将完整容器复制回本地存储。[完全披露:我是该代码的贡献者]