如何使用命令行中的受限用户帐户更新Azure上的云服务

时间:2015-07-28 01:31:26

标签: powershell azure azure-resource-manager

我希望升级的服务位于资源组中,我的用户帐户被配置为该资源组的所有者。用户帐户仅限访问一个资源组。

我可以通过上传cspkgcscfg文件,使用新的管理门户成功更新云服务。

我尝试使用Azure Powershell自动执行此过程。

这是我迄今为止所尝试过的:

Set-AzureDeployment -Upgrade -ServiceName test-service -Configuration C:\temp\test-service.cscfg -Package "https://test-service.blob.core.windows.net/azurepowershelldeploy/test-package.cspkg" -Slot Production -Mode Auto -Label test-2015-07-28T00:33:04

ForbiddenError: The server failed to authenticate the request.
Verify that the certificate is valid and is associated with this subscription.

看看小提琴手,它向这个端点发出请求,然后取回403禁止。

POST /xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/services/hostedservices/test-service/deploymentslots/Production/?comp=upgrade HTTP/1.1

我相信ASM API无法正常使用资源组。有没有一种方法可以使用新的ARM API更新云服务?

1 个答案:

答案 0 :(得分:0)

您可以使用ARM在单个协调操作中部署,更新或删除应用程序的所有资源。

您可以使用以下代码将您的ARM模板重新部署到现有RG:New-AzureResourceGroupDeployment

  

New-AzureResourceGroupDeployment cmdlet将部署添加到现有资源组,包括部署所需的资源。此cmdlet与New-AzureResourceGroup cmdlet类似,但它适用于现有资源组,而不是新资源组。若要将单个资源添加到资源组,请使用New-AzureResource cmdlet。

对于您的方案(进行一些更改)的详细介绍位于:Provision and deploy microservices predictably in Azure

  

本教程介绍如何使用JSON资源组模板和PowerShell脚本以可预测的方式将Azure App Service中的微服务组成的应用程序配置和部署为单个单元。

不使用RG模板中的应用服务资源,而是使用您需要的资源类型。然后调用上面的New-AzureResourceGroupDeployment cmdlet而不是New-AzureResourceGroup cmdlet。