Azcopy:是否可以使用新的 SAS 密钥恢复下载

Azcopy: Is it possible do resume a download with a new SAS key

我昨天开始使用 azcopy 下载更大的数据块(大约 500GB)。我 运行 一夜之间就拥有它,并且 - 当你有大量下载/上传时这些事情就会发生 - 我的 Windows 桌面决定它有一个重要的更新并需要重新启动。

正常情况下,我会在早上恢复下载;但是,现在我收到授权错误。可能,因为 SAS 密钥已过期,所以我想给它一个新的。

我为此工作使用了以下命令:

copy https://<blobstore>.blob.core.windows.net/<path>?se=2019-07-18t21%3A59%3A10z&sig=<signature>&sp=rlac&spr=https&srt=sco&ss=b&st=2019-07-11t13%3A59%3A10z&sv=2018-03-28 . --recursive

因此我的问题是:我可以给未完成的作业一个新的 SAS 密钥,以便它可以恢复下载吗?

是的,AzCopy 有一个 re-startable 模式。来自 here:

 AzCopy C:\blobData https://myaccount.blob.core.windows.net/mycontainer/destkey:key /Z:restart.log /s

/Z是开启的参数 re-startable 模式。 ‘restart.log’是将保存在本地的日志文件的customer-defined名称。

我找到了解决办法。命令 azcopy jobs resume 允许指定参数 --source-sas--destination-sas。我可以通过提供新令牌来恢复工作:

azcopy jobs resume <job-id> --source-sas <sas-token>

例如

azcopy jobs resume 67739a41-d3c6-204a-5449-9c3f0bd18ce2 --source-sas "?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-08-02T21:00:00Z&st=2019-07-12T04:10:24Z&spr=https&sig=<signature>"