问题描述

在历史已经部署的云服务(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. centos 7.6安装WeADMIN ITOSS步骤

    0.升级系统并安装必要的软件 yum -y update yum -y install wget unzip nmap 1.下载JDK jdk下载地址:http://www.oracle.com/te ...

  2. PHP-表单提交(form)

    PHP-表单提交 一  form表单 GET    将表单内容附加到URL地址后面,提交的信息长度有限制,不可以超过8192个字节,同时不具有保密性,而且只能传送ASCII字符(一般传送的不保密性数据 ...

  3. Java 复习整理day09

    package com.it.demo01_thread; /* 案例: 多线程简介. 概述: 指的是进程有多条执行路径, 统称叫: 多线程. 进程: 指的是可执行程序, 文件(例如: .exe) 大 ...

  4. Consonant Fencity Gym - 101612C 暴力二进制枚举 Intelligence in Perpendicularia Gym - 101612I 思维

    题意1: 给你一个由小写字母构成的字符串s,你可以其中某些字符变成大写字母.如果s中有字母a,你如果想把a变成大写,那s字符串中的每一个a都要变成A 最后你需要要出来所有的字符对,s[i]和s[i-1 ...

  5. Dubbo从入门到实践

    1 Dubbo出现的背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 我们传统的网站结构为 ...

  6. Java RMI 实现一个简单的GFS(谷歌文件系统)——介绍篇

    本系列主要是使用Java RMI实现一个简单的GFS(谷歌文件系统,google file system),首先整体简单介绍下该项目. [为了更好的阅读以及查看其他篇章,请查看原文:https://w ...

  7. codeforces - 15C Industrial Nim(位运算+尼姆博弈)

    C. Industrial Nim time limit per test 2 seconds memory limit per test 64 megabytes input standard in ...

  8. C# 数据类型(3)

    动态类型 dynamic types 动态类型是后来引进的,他其实是一个static type,但是不像其他的静态类型,编译器不会检查你到底是啥类型(也不会检查你能不能去call某个'method') ...

  9. C# 类 (8) - 抽象方法

    抽象 抽象方法 只能 定义在抽象类 里,并且抽象方法里没有具体的代码,像这种 为啥要定义一个空空如也的函数呢?这是为了用来约束 它的派生类 的行为, 这个例子,建立了一个数组,放了cat和dog,这两 ...

  10. ZOJ 2563 Long Dominoes(状压DP)题解

    题意:n*m的格子,用1 * 3的矩形正好填满它,矩形不能重叠,问有几种填法 思路:poj2411进阶版.我们可以知道,当连续两行的摆法确定,那么接下来的一行也确定.当第一行还有空时,这时第三行必须要 ...