[英]Azcopy: Copying files to an Azure Fileshare using Azcopy 10
我正在尝试使用 AZCopy v10 将文件复制到 Azure Fileshare 或从中复制文件。 我已经使用 v8.1 成功地完成了这项工作,但我在使用 v10 时一直遇到错误。
在命令行中,我使用它来将文件从本地驱动器复制到文件共享;
c:\Temp\azcopy.exe copy "c:\temp\sample.txt" "https://myfiles.file.core.windows.net/dbfiles/sample.txt?SASKeyText"
这会生成错误消息;
由于错误无法执行复制命令:无法将单个文件/文件夹传输到服务的根目录。 添加容器或目录到目的地 URL
我尝试将目录添加到文件共享并将其添加到命令字符串,但我得到了同样的错误。
如果我将文件共享中的副本反转到本地驱动器,则会出现错误;
由于错误无法执行复制命令:帐户复制是一种固有的递归操作,因此需要 --recursive
我已按照https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-files上的指南进行操作,但无法看出问题所在。
在此先感谢您的帮助。
这里的错误是 SAS 令牌而不是命令的形式。
我想这应该在无用的错误消息示例中进行标记。
感谢所有花时间看的人。
尝试从本地计算机复制到 Azure Blob 存储时,我遇到了同样的问题。
这是我正在运行的命令:
azcopy copy --from-to=LocalBlob "C:\AzureStorageTest\my-app\*" "https://myapptest.blob.core.windows.net/%24web" --recursive
但我收到以下错误:
由于错误无法执行复制命令:无法将单个文件/文件夹传输到服务的根目录。 将容器或目录添加到目标 URL
这是我解决它的方法:
我在 Blob 存储位置的末尾缺少?[SAS]
参数。 所以代替这个:
azcopy copy --from-to=LocalBlob "C:\AzureStorageTest\my-app\*" "https://myapptest.blob.core.windows.net/%24web" --recursive
我有这个:
azcopy copy --from-to=LocalBlob "C:\AzureStorageTest\my-app\*" "https://myapptest.blob.core.windows.net/%24web?[SAS]" --recursive
注意:
azcopy copy "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/directory]?[SAS]" --recursive
。 您只需要修改"/path/to/dir"
、 [account]
和[container]/[path/to/directory]
。 其他一切都保持原样。--from-to=LocalBlob
(如果要从本地复制到 blob 存储)参数指定源-目标路由,以明确复制操作。$
使用时会抛出一些错误,所以使用了%24
。就这样。
我希望这有帮助
这是一个对我有用的示例 azcopy 脚本
az storage azcopy blob upload
-c'https://$AZURE_STORAGE_ACCOUNT_NAME.blob.core.windows.net/\\\$web' \
--account-name $AZURE_STORAGE_ACCOUNT_NAME \
-s "build/*" \
--account-key $AZURE_STORAGE_ACCOUNT_ACCESS_KEY \
--recursive
如果在尝试复制到$web 容器时出现此错误:
“由于错误而无法执行复制命令:无法将单个文件/文件夹传输到服务的根目录。将容器或目录添加到目标 URL ”
根据此处列出的解决方案,我们需要在 $web 之前添加一个转义字符 ( \
)。 以下命令(将所有文件和子文件夹复制到 web 容器)对我有用:
azcopy copy "<local_folder>/*" "https://******.blob.core.windows.net/\$web/?<SAS token>" --recursive
如果没有转义字符,以下命令将失败并出现上述错误。
azcopy copy "<local_folder>/*" "https://******.blob.core.windows.net/$web/?<SAS token>" --recursive
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.