Команда Enable-AzStorageStaticWebsite в модуле Azure RM PowerShell
Я пытаюсь создать автоматический сценарий для создания и развертывания статического веб-сайта в хранилище больших двоичных объектов Azure.
Тем не менее, я все еще должен использовать Azure.Storage
модуль вместо Az.Storage
, Есть ли эквивалентный командлет для Enable-AzStorageStaticWebsite
в лазурном рм?
2 ответа
К сожалению, нет эквивалентной команды в Azure.Storage
(GA) модуль в настоящее время, вы можете использовать Enable-AzureStorageStaticWebsite
с Azure.Storage 4.4.1-preview
, но Az
module - это новый модуль powershell, также для Azure Resource Manager, возможно, вы можете попробовать.
Если вы хотите запустить сценарии, разработанные для AzureRM
с помощью Az
, использовать Enable/Disable-AzureRmAlias
командлеты для добавления или удаления псевдонимов из командлетов AzureRM в командлеты Az.
Для более подробной информации, обратитесь к этой ссылке.
Я очень рекомендую использовать модуль Az для этого. В AzureRM статические веб-сайты представляют собой предварительный просмотр в Azure.Storage: https://www.powershellgallery.com/packages/Azure.Storage/4.4.1-preview
Вы также можете назвать это сами:
#function to Enable static website for the Azure Storage account.
Function Enable-AzureRmStorageStaticWebsite(
[Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext] [Parameter(Mandatory = $true)] $Context,
[string] [Parameter(Mandatory = $true)] $IndexDocument,
[string] [Parameter(Mandatory = $true)] $ErrorDocument404Path
) {
$sasToken = New-AzureStorageAccountSASToken -Context $Context `
-Service Blob -ResourceType Service -Protocol HttpsOnly -Permission wla `
-StartTime (Get-Date).AddHours(-1) -ExpiryTime (Get-Date).AddHours(4)
$body = (@'
<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
<StaticWebsite>
<Enabled>true</Enabled>
<IndexDocument>{0}</IndexDocument>
<ErrorDocument404Path>{1}</ErrorDocument404Path>
</StaticWebsite>
</StorageServiceProperties>
'@ -f $IndexDocument, $ErrorDocument404Path)
$headers = @{"x-ms-version" = "2018-03-28"; "x-ms-date" = (Get-Date -Format R); "Content-Type" = "application/xml"; "Content-Length" = [string]$body.length }
$apiUrl = ("{0}{1}&restype=service&comp=properties" -f $Context.BlobEndPoint, $sasToken)
Write-Verbose ('Enable-AzureRmStorageStaticWebsite -IndexDocument {0} -ErrorDocument404Path {1}' -f $IndexDocument, $ErrorDocument404Path)
Invoke-RestMethod -Method Put -Uri $apiUrl -Headers $headers -Body $body
}
Убедитесь, что вы установили модуль Azure.Storage, поддерживающий api-версию хранилища '2018-03-28' (я считаю, что версия powershell: 4.4.1 или выше)