我希望升级的服务位于资源组中,我的用户帐户被配置为该资源组的所有者。用户帐户仅限访问一个资源组。
我可以通过上传cspkg
和cscfg
文件,使用新的管理门户成功更新云服务。
我尝试使用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更新云服务?
答案 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。