Здравствуйте и добро пожаловать в Stack Overflow!
Надеюсь, ваше веб-приложение удовлетворяет предварительным требованиям для создания резервной копии. Для функции резервного копирования и восстановления требуется, чтобы план службы приложений был на уровне Standard или Premium . Подробные сведения см. В Требования и ограничения .
Первоначально я получил ту же ошибку при выполнении командлета. Однако передача переключателя -debug
с помощью командлета помогла мне лучше понять ошибку:
{
"ErrorEntity": {
"ExtendedCode": "04205",
"MessageTemplate": "The provided URI is not a SAS URL for a container (it needs to be https and it has to have 2 segments).",
"Parameters": [],
"Code": "BadRequest",
"Message": "The provided URI is not a SAS URL for a container (it needs to be https and it has to have 2 segments)."
}
Параметр -StorageAccountUrl
ожидает передачи URL-адреса SAS (см. this do c). URL-адрес SAS для вашей учетной записи хранения имеет формат:
sasurl=https://$storagename.blob.core.windows.net/$container$sastoken
Чтобы сгенерировать токен SAS, выполните следующее:
# Retrieve one of the Storage Account keys
$key = (Get-AzStorageAccountKey -ResourceGroupName "<rg-name>" -AccountName "<storage-account-name>").Value[0]
# Populate the Storage Account context
$ctx = New-AzureStorageContext -StorageAccountName "<storage-account-name>" -StorageAccountKey $key
# Generate the SAS token
$sastoken = New-AzureStorageContainerSASToken -Name "<container-name>" -Permission rwdl -Context $ctx
# Generate the SAS URL
$sasurl = "https://<storage-account-name>.blob.core.windows.net/<container-name>$sastoken"
# Create a backup
New-AzureRmWebAppBackup -ResourceGroupName "<rg-name>" -Name "<app-name>" -StorageAccountUrl $sas -BackupName "<backup-name>"
В случае успешного выполнения вышеуказанных команд вы должны создать резервная копия. Ответ будет выглядеть примерно так: ![webapp backup](https://i.stack.imgur.com/uxrTY.png)
Надеюсь, это поможет!