【Azure 云服务】如何从Azure Cloud Service中获取项目的部署文件
问题描述
在历史已经部署的云服务(Azure Cloud Service)中,如何获取到项目在很久以前的部署包文件呢?

解决办法
1)如果部署云服务是通过门户上传部署包到存储账号中,则可以直接从存储账号(Storage Account -> BLOB)中直接下载部署包
2)如果无法找到部署时候使用的存储账号(Storage Account)或已经删除了部署包所存储的资源。也可以通过Cloud Service所提供的API来实现(Get Package)。
Get Package:获取用于部署的云服务部署包,并将部署包文件存储在Microsoft Azure Blob中,存储的文件包含两种(配置文件和项目文件):
Service configuration file(.cscfg) - 包含云服务的配置信息,Role的定义和实例数量等
Service package(.cspkg) - 包含项目代码和服务定义文件
在中国区使用的Endpoint为:https://management.core.chinacloudapi.cn/<subscription-id>/services/hostedservices/<cloudservice-name>/deployments/<deployment-name>/package
关于详细使用Get Package下载部署包的操作步骤,可以参考原文档:https://techcommunity.microsoft.com/t5/azure-paas-blog/azure-cloud-service-download-package/ba-p/819730
准备Azure Tools工具
- 从链接中下载Azure Tools工具: http://dsazure.blob.core.windows.net/azuretools/AzureTools.exe
- 更多关于Azure Tools的信息可以查看MSDN博客内容:https://docs.microsoft.com/en-us/archive/blogs/kwill/azuretools-the-diagnostic-utility-used-by-the-windows-azure-developer-support-team
执行以下步骤
- 双击下载的AzureTools.exe文件,点击Utils Tab页
- 选择其中的Misc Tools.
- 在新弹出的窗口中,选择Service Management REST API Tab页
- 创建自定义证书(如果已经有云服务的自定义证书,则在Misc Tools中直接导入.cer的证书文件)
- 可以通过IIS创建自定义证书或者使用openssl 及 Certreq.exe生成证书。详细可以参考文档:https://technet.microsoft.com/en-us/library/ff710475(v=ws.10).aspx
- 在本地计算机中安装新生成的证书
- 上传证书(.cer格式的文件)到云服务中
- Azure门户 --> 云服务 --> 证书管理(Certificates) -->上传新证书
- 在Misc Tool的Service Management REST API Tab中,数据当前的订阅号,选择上一步创建的证书文件,选择POST操作
- 填写Get Package的URL并携带正确的参数。如<subscription-id>,<cloudservice-name>,<deployment-name> 和 containerUri参数。参考文档:https://docs.microsoft.com/en-us/previous-versions/azure/reference/jj154121(v=azure.100)
- containerUri参数的值为Storage Account存储账号,需要一个Public的container的URL用于存储云服务的部署包
- 点击Submit按钮,等待API的返回为202 - Accpeted后,即可以在上一步中的Stroage Account中查看到部署包
当下载云服务的部署包后,可以直接在文件中查看当项目资源文件,也可以直接把该文件部署到Azure应用服务中。部署包的项目文件结构如下图所示:

参考资料
Get Package: https://docs.microsoft.com/en-us/previous-versions/azure/reference/jj154121(v=azure.100)
Azure Cloud Service Download Package: https://techcommunity.microsoft.com/t5/azure-paas-blog/azure-cloud-service-download-package/ba-p/819730
Create and export a self-signed certificate: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ff710475(v=ws.10)?redirectedfrom=MSDN
【Azure 云服务】如何从Azure Cloud Service中获取项目的部署文件的更多相关文章
- 【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
什么是 PaaS?Platform as a Service 平台即服务 (PaaS) 是云中的完整开发和部署环境,你可以使用其中资源交付内容,从基于云的简单应用到启用云的复杂企业应用程序皆可.你以即 ...
- 【Azure 云服务】Azure Cloud Service 创建 Alert 指南 [基于旧版 Alert(Classic)不可用情况下]
问题描述 在Azure云服务(Cloud Service)创建Alert(Classic)时候遇见失败消息:"Failed to update alert testclassicalertr ...
- 【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
问题描述 把Web Role服务发布到Azure Cloud Service后,需要在IIS的输出日志中,把每一个请求的HTTP Request Header中的User-Agent内容也输出到日志中 ...
- 【Azure 云服务】Azure Cloud Service在发布新部署后遇见不能RDP(远程连接)到实例时如何处理?
Azure 云服务是PaaS 的一个示例. 与 Azure 应用服务一样,此技术设计用于支持可缩放.可靠且运营成本低廉的应用程序. 同样,应用服务托管在虚拟机 (VM) 上,Azure 云服务也是如此 ...
- Azure开发者任务之二:Cloud Service项目添加到ASP.Net Web中
假设我们正在把现有的Web应用程序或ASP.Net MVC Web应用程序迁移到云中.在这种情况下,我们需要把云服务添加到现有的Web应用程序或ASP.Net MVC Web应用程序中. 我们有一个W ...
- 利用VisualVM监测Azure云服务中的Java应用
在做Java开发的时候,我们需要在上线之前对程序进行压力测试,对程序的性能进行全面的监控,了解JVM的CPU,内存,GC,classes,线程等等信息,或者在程序上线运行的过程当中以便于诊断问题或者对 ...
- 跟我学Windows Azure 四 Cloud Service中的WebRole与WorkRole,及他们之间的通信
Cloud Service 中WebRole就相当与我们的WebSite,而WorkRole相当与我们在服务器上写了个Windows Service,站在高可用的角度上来讲,Cloud Service ...
- Azure 云服务中的实例端点
Azure云服务(cloud Servive)中有三种端点类型(endpoint type):输入端点(input);内部端点(internal);实例端点(InstanceInput) 1.输入端点 ...
- [转]在 Azure 云服务上设计大规模服务的最佳实践
本文转自:http://technet.microsoft.com/zh-cn/magazine/jj717232.aspx 英文版:http://msdn.microsoft.com/library ...
随机推荐
- c++nullptr(空指针常量)、constexpr(常量表达式)
总述 又来更新了,今天带来的是nullptr空指针常量.constexpr(常量表达式)C++的两个用法.Result result_fun = nullptr;constexpr stati ...
- ogn1.MethodFailedException:Method "xxx" failed for object xxx
问题描述:初学ssh写了个小项目,访问界面出现以下错误 java. lang. NoSuchllethodError: org. hi bernate. SessionF actory. openSe ...
- Luogu4168 蒲公英 (分块)
题目传送门 题意 长度为n的序列,有m次询问,每次询问求\([l,r]\) 间的众数,如果有多个,输出最小的那个 \(n\le 4\times 10^4,m\le 5\times 10^5,a_i\l ...
- vector的几种初始化及赋值方式
转自https://www.cnblogs.com/quyc/p/12857054.html (1)不带参数的构造函数初始化 //初始化一个size为0的vector vector<int> ...
- 2015 German Collegiate Programming Contest (GCPC 15) + POI 10-T3(12/13)
$$2015\ German\ Collegiate\ Programming\ Contest\ (GCPC 15) + POI 10-T3$$ \(A.\ Journey\ to\ Greece\ ...
- P1714 切蛋糕 dp+单调队列
题意: 题目描述 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精. 某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来.但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸.于是琪露诺决定到 ...
- Codeforces Round #345 (Div. 1) A. Watchmen (数学,map)
题意:给你\(n\)个点,求这\(n\)个点中,曼哈顿距离和欧几里得距离相等的点对数. 题解: 不难发现,当两个点的曼哈顿距离等于欧几里得距离的时候它们的横坐标或者纵坐标至少有一个相同,可以在纸上画一 ...
- HDU2732 Leapin' Lizards 最大流
题目 题意: t组输入,然后地图有n行m列,且n,m<=20.有一个最大跳跃距离d.后面输入一个n行的地图,每一个位置有一个值,代表这个位置的柱子可以经过多少个猴子.之后再输入一个地图'L'代表 ...
- Codeforces Round #670 (Div. 2) C. Link Cut Centroids (dfs,树)
C. Link Cut Centroids Fishing Prince loves trees, and he especially loves trees with only one centro ...
- [Golang]-1 Slice与数组的区别
目录 数组 1.创建数组: 2.数组是值拷贝传递: 切片(slice) 1.首先看看slice的源码结构: 2.slice的创建: 3.slice使用make创建 4.切片作为参数传递 5.Golan ...

