Команда Enable-AzStorageStaticWebsite в модуле Azure RM PowerShell - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь создать автоматический сценарий для создания и развертывания статического веб-сайта в BLOB-объект хранилища Azure.

Однако мне все равно придется использовать модуль Azure.Storage вместо Az.Storage.Есть ли в Azure RM эквивалентный командлет для Enable-AzStorageStaticWebsite?

enter image description here

Ответы [ 3 ]

0 голосов
/ 18 декабря 2018

Я бы настоятельно рекомендовал использовать модуль Az для этого.В AzureRM статические веб-сайты - это предварительный просмотр в Azure.Storage: https://www.powershellgallery.com/packages/Azure.Storage/4.4.1-preview

0 голосов
/ 20 июня 2019

Вы также можете назвать его самостоятельно:

#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 или выше)

0 голосов
/ 18 декабря 2018

К сожалению, в настоящее время в модуле Azure.Storage (GA) нет эквивалентной команды, вы можете использовать Enable-AzureStorageStaticWebsite с Azure.Storage 4.4.1-preview, но модуль Az - это новый модуль powershell также для Azure Resource Manager , возможно, вы можете попробовать.

Если вы хотите запускать сценарии, разработанные для AzureRM, с использованием Az, используйте командлеты Enable/Disable-AzureRmAlias для добавленияили удалите псевдонимы из командлетов AzureRM в командлеты Az.

Подробнее см. по этой ссылке .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...