У меня есть команда синхронизации Azcopy. Это проходит, когда я использовал ключ SAS. Но терпит неудачу, когда я использую ключ доступа. Ключ доступа работает, когда большой двоичный объект является общедоступным. Почему ключ доступа не работает, если большой двоичный объект является закрытым?
Я запускаю команду с виртуальной машины, виртуальная сеть которой разрешена в выбранных сетях. И общий доступ к блобу отключен.
Вот как я передаю оба ключа
"https://mystorage.blob.core.windows.net/container?sv=KEY"
Это ошибка, которую я получаю
RESPONSE ERROR (ServiceCode=PublicAccessNotPermitted) =====
RESPONSE Status: 409 Public access is not permitted on this storage account.
@JimXu отредактировал вопрос, добавив ключ
У вас есть обновления?
Я отправляю новый ответ. Пожалуйста, проверь это.
Согласно предоставленной вами информации, вы хотите использовать команду azcopy
для синхронизации файла с подписями общего доступа. Если это так, подписи общего доступа должны быть похожи на sv=2019-02-02&ss=bf&srt=s&st=2019-08-01T22%3A18%3A26Z&se=2019-08-10T02%3A23%3A26Z&sr=b&sp=rw&spr=https&sig=<>
. Для получения более подробной информации, пожалуйста, обратитесь к здесь и здесь.
Например
Создайте токен sas через портал Azure.
Синхронизировать
azcopy sync '<local-directory-path>' 'https://<storage-account-name>.blob.core.windows.net/<container-name>?<the sas token you copy in step1>' --recursive
«вы хотите использовать команду azcopy для синхронизации файла с подписями общего доступа» это неверно. Это работает
@BlueClouds Не могли бы вы сказать мне, что вы хотите реализовать?
Используйте ключ доступа вместо ключа sas, когда большой двоичный объект является закрытым
@BlueClouds Команда azcopy sync
не поддерживает авторизацию с ключом доступа. Дополнительные сведения см. на странице learn.microsoft.com/en-us/azure/storage/common/…
Это ответ, который я искал. Может ли это быть опубликовано как ответ?
когда мы используем команду azcopy sync
для синхронизации файлов между хранилищем BLOB-объектов Azure или между BLOB-объектами Azure и локальными пространствами, она не поддерживает проверку подлинности с помощью ключа доступа. Он просто поддерживает аутентификацию SAS или OAuth. Для получения более подробной информации, пожалуйста, обратитесь к здесь.
Например (я использую аутентификацию SAS)
Создайте токен sas через портал Azure.
Синхронизировать
azcopy sync '<local-directory-path>' 'https://<storage-account-name>.blob.core.windows.net/<container-name>?<the sas token you copy in step1>' --recursive
Не могли бы вы предоставить свою команду, когда вы делаете это с ключом доступа?