问题描述

在历史已经部署的云服务(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工具

执行以下步骤

  1. 双击下载的AzureTools.exe文件,点击Utils Tab页
  2. 选择其中的Misc Tools.
  3. 在新弹出的窗口中,选择Service Management REST API Tab页
  4. 创建自定义证书(如果已经有云服务的自定义证书,则在Misc Tools中直接导入.cer的证书文件)
    • 可以通过IIS创建自定义证书或者使用openssl 及 Certreq.exe生成证书。详细可以参考文档:https://technet.microsoft.com/en-us/library/ff710475(v=ws.10).aspx
    • 在本地计算机中安装新生成的证书
    • 上传证书(.cer格式的文件)到云服务中
    • Azure门户 --> 云服务 --> 证书管理(Certificates) -->上传新证书
  5. 在Misc Tool的Service Management REST API Tab中,数据当前的订阅号,选择上一步创建的证书文件,选择POST操作
  6. 填写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用于存储云服务的部署包
  7. 点击Submit按钮,等待API的返回为202 - Accpeted后,即可以在上一步中的Stroage Account中查看到部署包

当下载云服务的部署包后,可以直接在文件中查看当项目资源文件,也可以直接把该文件部署到Azure应用服务中。部署包的项目文件结构如下图所示:

参考资料

Get Packagehttps://docs.microsoft.com/en-us/previous-versions/azure/reference/jj154121(v=azure.100)
Azure Cloud Service Download Packagehttps://techcommunity.microsoft.com/t5/azure-paas-blog/azure-cloud-service-download-package/ba-p/819730
Create and export a self-signed certificatehttps://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中获取项目的部署文件的更多相关文章

  1. 【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等

    什么是 PaaS?Platform as a Service 平台即服务 (PaaS) 是云中的完整开发和部署环境,你可以使用其中资源交付内容,从基于云的简单应用到启用云的复杂企业应用程序皆可.你以即 ...

  2. 【Azure 云服务】Azure Cloud Service 创建 Alert 指南 [基于旧版 Alert(Classic)不可用情况下]

    问题描述 在Azure云服务(Cloud Service)创建Alert(Classic)时候遇见失败消息:"Failed to update alert testclassicalertr ...

  3. 【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内容也输出到日志中 ...

  4. 【Azure 云服务】Azure Cloud Service在发布新部署后遇见不能RDP(远程连接)到实例时如何处理?

    Azure 云服务是PaaS 的一个示例. 与 Azure 应用服务一样,此技术设计用于支持可缩放.可靠且运营成本低廉的应用程序. 同样,应用服务托管在虚拟机 (VM) 上,Azure 云服务也是如此 ...

  5. Azure开发者任务之二:Cloud Service项目添加到ASP.Net Web中

    假设我们正在把现有的Web应用程序或ASP.Net MVC Web应用程序迁移到云中.在这种情况下,我们需要把云服务添加到现有的Web应用程序或ASP.Net MVC Web应用程序中. 我们有一个W ...

  6. 利用VisualVM监测Azure云服务中的Java应用

    在做Java开发的时候,我们需要在上线之前对程序进行压力测试,对程序的性能进行全面的监控,了解JVM的CPU,内存,GC,classes,线程等等信息,或者在程序上线运行的过程当中以便于诊断问题或者对 ...

  7. 跟我学Windows Azure 四 Cloud Service中的WebRole与WorkRole,及他们之间的通信

    Cloud Service 中WebRole就相当与我们的WebSite,而WorkRole相当与我们在服务器上写了个Windows Service,站在高可用的角度上来讲,Cloud Service ...

  8. Azure 云服务中的实例端点

    Azure云服务(cloud Servive)中有三种端点类型(endpoint type):输入端点(input);内部端点(internal);实例端点(InstanceInput) 1.输入端点 ...

  9. [转]在 Azure 云服务上设计大规模服务的最佳实践

    本文转自:http://technet.microsoft.com/zh-cn/magazine/jj717232.aspx 英文版:http://msdn.microsoft.com/library ...

随机推荐

  1. Mac变卡顿,优化性能

    当调整窗口大小,同时按住"Option"键,可以从中央调整大小 同时按住"Shift"键时,可以按比例调整大小.同时按住这两个键,那么既成比例,又从中央调整大小 ...

  2. 误删eth1或者 eth0

    不小心把机房,eth1删除了,过2天还演示,折腾一下午.... 首先eth1存在地方是2块./etc/sysconfig/network-scripts/下 /et/sysconfig/network ...

  3. 小白搭建WAMP详细教程---mysql安装与设置

    MySQL分为安装版和解压版.为了以后MySQL出问题想重装时会出现各种不必要的麻烦,我们这里选择解压版MySQL.详细步骤如下: 一:Mysql官网下载Mysql解压版 到官网下载,网址为:http ...

  4. 阶段学习总结-坦克大战(2D)案例

    这是前几天学习的案例,这两天学习了NGUI和UGUI,被UI搞得很烦躁,但是今天还是将前几天学习的坦克大战总结以下.这个游戏是小时候的经典红白机游戏的复刻,见截图: 一.游戏物体 游戏中包含地图元素( ...

  5. Java二维数组转成稀疏sparsearray数组

    稀疏数组 基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组. 稀疏数组的处理方法是: 记录数组一共有几行几列,有多少个不同的值 把具有不同值的元素的行列及值记 ...

  6. vue开发东京买菜,全栈项目,前端django,带手机GPS精准定位,带发票系统,带快递系统,带微信/支付宝/花呗/银行卡支付/带手机号一键登陆,等等

    因为博客园不能发视频,所以,完整的视频,开发文档,源码,请向博主索取 完整视频+开发文档+源码,duanshuiLu.com下载 vue+django手机购物商城APP,带支付,带GPS精准定位用户, ...

  7. Codeforces Round #626 Div2 D,E

    比赛链接: Codeforces Round #626 (Div. 2, based on Moscow Open Olympiad in Informatics) D.Present 题意: 给定大 ...

  8. c语言实现--单向循环链表操作

    1,什么叫单向循环链表.单向循环链表是指在单链表的基础上,表的最后一个元素指向链表头结点,不再是为空. 2,由图可知,单向循环链表的判断条件不再是表为空了,而变成了是否到表头. 3,链表的结点表示 1 ...

  9. P1387 最大正方形 && P1736 创意吃鱼法(DP)

    题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m ...

  10. IntelliJ IDEA 运行java程序时出现“程序发生找不到或无法加载主类 cn.test1.test1”错误

    在你程序不出现错误,而且你的编译器已经成功导入后 成功导入的样子 你可以重新打开一个项目 这就可以了^_^