Перезапуск веб-приложений Azure

Я хотел перезапустить службу приложений с помощью веб-заданий. Я написал сценарий Power Shell. Подключение к Azure с использованием принципа службы возвращает пустой идентификатор подписки, имя подписки. Ниже приведен мой код:

Я пробовал приведенный ниже код. Когда я подключаюсь вручную. Весь процесс работает. Но мне нужно добиться этого с помощью принципа обслуживания.

$azureAplicationId =""

$azureTenantId= ""
$azurePassword = ConvertTo-SecureString "password" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($azureAplicationId , $azurePassword)
Add-AzureRmAccount -Credential $psCred -TenantId $azureTenantId  -ServicePrincipal 
Restart-AzureRmWebApp -ResourceGroupName "devRG" -Name "draftfoxdatamanagementdev"

Ошибка:

Account          : Got details
SubscriptionName : 
SubscriptionId   : 
TenantId         : got details
Environment      : got details

Restart-AzureRmWebApp : 'this.Client.SubscriptionId' cannot be null.
At C:\Users\tingu.marina.john\Documents\testingservice.ps1:6 char:1
+ Restart-AzureRmWebApp -ResourceGroupName "devRG" -Name "draftfoxdatam ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Restart-AzureRmWebApp], ValidationException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.WebApps.Cmdlets.WebApps.RestartAzureWebAppCmdlet

person treasa    schedule 19.07.2019    source источник


Ответы (1)


Этот сценарий должен работать, я полагаю, вы не добавили свой субъект-службу в качестве роль RBAC в вашей подписке/веб-приложении.

Чтобы решить эту проблему, попросите Owner подписки перейти к подписке/веб-приложению на портале > Access control (IAM) > нажмите Add > Add role assignment > добавьте субъект-службу в качестве роли (например, Owner, Contributor), см. это ссылка для получения дополнительных сведений.

person Joy Wang    schedule 19.07.2019