通过REST API部署Azure云服务(扩展支持)的问题求助
Azure云服务(经典版)迁移至扩展支持版的部署问题及排查
我正在将Azure中的Cloud Service (classic)迁移至Cloud Service (extended support),但扩展支持的文档稀缺且常不准确,迁移流程并不顺畅,目前正搭建部署流水线。经典版使用管理API完成部署/更新等操作,扩展支持的API设计更简洁,但文档仍存在不完善的地方。我找到的最靠谱参考是Cloud Service - create or update接口文档。不过仍有以下问题找不到相关信息:
- ServiceConfiguration元素的格式是什么?是纯XML(需在JSON中编码)还是其他格式?经典版API中,服务配置是以BASE64编码的XML传递的。
- 请求体(JSON)包含部分与服务配置相同的元素,若两者不匹配会发生什么?
- Package URL的格式是什么?包存储在Azure存储账户中,该如何引用?另外,由于云服务尚未创建,无法为其授予存储账户权限,但创建云服务似乎需要此权限。
- RDP扩展的“password”格式是什么?真的是明文密码吗?经典版中,RDP密码是使用单独上传到服务的证书加密的。
- 来自密钥保管库的SSL证书,认证如何工作?同样,云服务尚未创建,无法为其授予密钥保管库权限。
在认证方面,我已成功发送认证请求获取oauth2 token,计划用于该API,这是否足够?当然我可以尝试,但需要先了解其他元素的格式。
注:部署流水线由Jenkins执行,且必须保持此方式,我无法更改。
更新1
我尽可能进行测试,使用纯XML作为服务配置(内容与JSON输入其余部分匹配)、明文密码作为RDP扩展密码,并使用Bearer token认证。收到400响应,详情如下:
{ "error": { "code": "InvalidParameter", "message": "The value of parameter packageUrl is invalid." } }
因此回到问题3:Package URL的格式是什么?
更新2
经过测试,带SAS token的Package URL已被接受。但现在遇到以下错误:
{ "error": { "code": "StandardPublicIPAddressNotSupportedCloudService", "message": "Standard public IP not supported for cloud services." } }
搜索该错误无结果,我使用的模板和流程均完全遵循微软文档,恳请进一步帮助。
内容的提问来源于stack exchange,提问作者Aleks G
相关产品推荐
相关产品推荐

