天天看點

【Azure 雲服務】如何從Azure Cloud Service中擷取項目的部署檔案

問題描述

在曆史已經部署的雲服務(Azure Cloud Service)中,如何擷取到項目在很久以前的部署封包件呢?

【Azure 雲服務】如何從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
執行以下步驟
  1. 輕按兩下下載下傳的AzureTools.exe檔案,點選Utils Tab頁
  2. 選擇其中的Misc Tools.
    【Azure 雲服務】如何從Azure Cloud Service中擷取項目的部署檔案
  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 雲服務】如何從Azure Cloud Service中擷取項目的部署檔案

當下載下傳雲服務的部署包後,可以直接在檔案中檢視當項目資源檔案,也可以直接把該檔案部署到Azure應用服務中。部署包的項目檔案結構如下圖所示:

【Azure 雲服務】如何從Azure Cloud Service中擷取項目的部署檔案

參考資料 

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

當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!

繼續閱讀