我正在尝试将文件下载到在 azure 上运行 CentOS 的 vm。linux盒子已经azcopy
安装好了。我正在尝试使用生成的 SAS 令牌从 azure 文件存储下载文件,但无法下载。我是否误解了如何使用 SAS 令牌?
最终,我能够使用密钥而不是 SAS 令牌下载文件。所以我知道网址是正确的。
我使用 linux vm 的公共 ip 为存储帐户创建了一个 sas 令牌,然后将其复制并附加到文件 url。我创建了一个允许所有 IP 地址的 CORS 规则。我在我的本地机器上重复了这个(使用它的公共 ip)并且能够获取文件。当我在 vm 上运行相同的命令时,它失败了。
我尝试使用附加到 url 的 sas 令牌运行它,并将其作为单独的参数传递。
azcopy --source "https://mynamehere.file.core.windows.net/pathtofile/file" --source-sas "?sv=2018-03-28&ss=...&srt =...&sp=...&se=2019-04-04T21:53:38Z&st=2019-04-04T13:53:38Z&sip=...&spr=https&sig=..." --destination file --verbose
我不断得到
[VERBOSE] Location 'Cloud file: https://mynamehere.file.core.windows.net/pathtofile/file' does not exist, This request is not authorized to perform this operation.
HttpStatusMessage:This request is not authorized to perform this operation.
和
[ERROR] Error parsing source location "https://mynamehere.file.core.windows.net/pathtofile/file": Source with location type File doesn't exist.