【Azure 雲服務】如何從Azure Cloud Service中獲取項目的部署文件
- 2021 年 2 月 23 日
- 筆記
- 【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為://management.core.chinacloudapi.cn/<subscription-id>/services/hostedservices/<cloudservice-name>/deployments/<deployment-name>/package
關於詳細使用Get Package下載部署包的操作步驟,可以參考原文檔://techcommunity.microsoft.com/t5/azure-paas-blog/azure-cloud-service-download-package/ba-p/819730
準備Azure Tools工具
- 從鏈接中下載Azure Tools工具: //dsazure.blob.core.windows.net/azuretools/AzureTools.exe
- 更多關於Azure Tools的資訊可以查看MSDN部落格內容://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生成證書。詳細可以參考文檔://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參數。參考文檔://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: //docs.microsoft.com/en-us/previous-versions/azure/reference/jj154121(v=azure.100)
Azure Cloud Service Download Package: //techcommunity.microsoft.com/t5/azure-paas-blog/azure-cloud-service-download-package/ba-p/819730
Create and export a self-signed certificate: //docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ff710475(v=ws.10)?redirectedfrom=MSDN