Я пытаюсь загрузить файлы в виртуальную машину под управлением CentOS на Azure. В linux box установлен azcopy
. Я пытаюсь загрузить файлы из хранилища файлов Azure, используя сгенерированный токен SAS, но его загрузка не удалась. Я неправильно понимаю, как использовать токен SAS?
В конечном итоге я смог загрузить файл, используя ключ вместо токена SAS. Так что я знаю, что URL был правильным.
Я создал токен sas для учетной записи хранения с общедоступным ip-адресом linux vm, затем скопировал и добавил его в URL-адрес файла. Я создал правило CORS для разрешения всех IP-адресов. Я повторил это на моей локальной машине (с ее публичным ip) и смог получить файл.
Когда я запускаю ту же команду на виртуальной машине, она терпит неудачу.
Я попытался запустить это с токеном sas, добавленным к URL, и передать его в качестве отдельного параметра.
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.