我正在尝试将文件下载到在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.
答案 0 :(得分:0)
请检查用于访问存储的sas令牌的权限(读取,写入,删除)和到期时间