升級部署
Upgrade Deployment
非同步作業會使用您所指定的封裝和組態,起始更新部署中的角色執行個體。
要求
請使用下列格式指定 Upgrade Deployment
要求。 請以訂閱識別碼取代 <subscription-id>
、以雲端服務的名稱取代 <cloudservice-name>
、以 staging
或 production
取代 <deployment-slot>
,或以部署的名稱取代 <deployment-name>
。
方法 | 要求 URI |
---|---|
POST | https://management.core.windows.net/<subscription-id>/services/hostedservices/<cloudservice-name>/deploymentslots/<deployment-slot>/ |
POST | https://management.core.windows.net/<subscription-id>/services/hostedservices/<cloudservice-name>/deployments/<deployment-name>/ |
URI 參數
URI 參數 | 描述 |
---|---|
comp=upgrade |
必要。 指定必須更新部署。 |
要求標頭
下表描述要求標頭。
要求標頭 | 描述 |
---|---|
Content-Type |
必要。 將此標頭設定為 application/xml 。 |
x-ms-version |
必要。 指定用於這個要求的作業版本。 此標頭應設定為 2009-10-01 或更新版本。 |
要求本文
要求主體的格式如下:
<?xml version="1.0" encoding="utf-8"?>
<UpgradeDeployment xmlns="http://schemas.microsoft.com/windowsazure">
<Mode>type-of-upgrade</Mode>
<PackageUrl>url-to-package</PackageUrl>
<Configuration>base64-encoded-config-file</Configuration>
<Label>base-64-encoded-label</Label>
<RoleToUpgrade>role-name</RoleToUpgrade>
<Force>true|false</Force>
<ExtendedProperties>
<ExtendedProperty>
<Name>property-name</Name>
<Value>property-value</Value>
</ExtendedProperty>
</ExtendedProperties>
<ExtensionConfiguration>
<AllRoles>
<Extension>
<Id>identifier-of-extension</Id>
<State>state-of-extension</State>
</Extension>
</AllRoles>
<NamedRoles>
<Role>
<RoleName>role_name1</RoleName>
<Extensions>
<Extension>
<Id>identifier-of-extension</Id>
<State>state-of-extension</State>
</Extension>
</Extensions>
</Role>
</NamedRoles>
</ExtensionConfiguration>
</UpgradeDeployment>
下表說明要求主體的元素。
元素名稱 | 描述 |
---|---|
[模式] | 必要。 指定要起始的更新類型。 部署服務時,會將角色執行個體配置給更新網域。 您可以手動起始更新每個更新網域,或自動起始更新所有更新網域。 可能的值包括: - Auto - Manual - Simultaneous 若未指定,則預設值為 Auto 。 如果設定為 Manual ,則必須呼叫 WalkUpgradeDomain 以套用更新。 如果設定為 Auto ,便會依序對每個更新網域自動套用更新。Simultaneous 設定僅適用於 2012-12-01 版或更高版本。 |
PackageUrl | 必要。 指定 URL 以表示服務封裝在 Blob 服務中的位置。 服務封裝可以位於相同訂閱下的儲存體帳戶中,或是得自於任何儲存體帳戶的共用存取簽章 (SAS) URI。 如需共用存取簽章的詳細資訊,請參閱使用 共用存取簽章委派存取權。 |
組態 | 必要。 指定部署的 Base-64 編碼服務組態檔。 |
標籤 | 必要。 指定雲端服務的 Base-64 編碼格式名稱。 名稱的長度最多可以有 100 個字元。 建議讓標籤成為訂閱中的唯一標籤。 在您進行追蹤時,此名稱可用來識別雲端服務。 |
RoleToUpgrade | 選擇性。 指定要更新的特定角色執行個體的名稱。 在單一角色升級中,如果已排程內部 Azure 升級,所有其他角色仍然可以回收。 在此案例中保證更新網域。 |
Force | 必要。 指出如果會導致某些角色執行個體的本機資料遺失是否進行更新。 要進行更新為 True ,否則為 false 。必須使用 01.10.11 版或更高版本,才能使用 Force 元素。 |
名稱 | 選擇性。 指定雲端服務擴充屬性的名稱。 每個擴充屬性都必須具有已定義的名稱和值。 您最多可以擁有 25 個擴充屬性名稱和值組。Name 元素的長度上限為 64 個字元,名稱中只能使用英數字元和底線,而且名稱必須以字母開頭。 如果您嘗試使用其他字元、以非字母字元當做開頭,或者輸入的名稱與相同雲端服務所擁有之其他擴充屬性的名稱完全相同,就會產生狀態碼 400 (不正確的要求) 錯誤。只在使用 01.03.12 版或更高版本,才能使用 Name 元素。 |
值 | 選擇性。 指定雲端服務擴充屬性的值。 每個擴充屬性都必須具有已定義的名稱和值。 您最多可以擁有 25 個擴充屬性名稱和值組,而且每個擴充屬性值的長度上限為 255 個字元。 將此值設定為 NULL 會刪除擴充屬性。 只在使用 01.03.12 版或更高版本,才能使用 Value 元素。 |
ExtensionConfiguration | 選擇性。 指定要加入至雲端服務的擴充功能。 在 Azure 中,處理序可以當做雲端服務的擴充功能來執行。 您必須使用 [ 新增擴充 功能] 將擴充功能新增至雲端服務,才能在更新期間將其新增至部署。 元素 ExtensionConfiguration 只能使用版本 2013-03-01 或更高版本。 |
ExtensionConfiguration
指定要加入至雲端服務的擴充功能。
元素名稱 | Description |
---|---|
AllRoles | 選擇性。 指定套用至部署中所有角色的擴充功能清單。 |
副檔名 | 必要。 指定要部署至雲端服務中之角色的擴充功能。 |
NamedRoles | 選擇性。 指定套用至部署中特定角色的擴充功能清單。 |
分機
指定要部署至雲端服務中之角色的擴充功能。
元素名稱 | Description |
---|---|
識別碼 | 必要。 指定擴充功能的識別碼。 此識別碼是在擴充功能加入至雲端服務時建立的。 您可以使用 清單延伸模組,找到已新增至雲端服務的延伸模組識別碼。 |
狀態 | 選擇性。 指定延伸模組的狀態。 此元素僅適用於 JSON 設定的延伸模組。 可能的值包括: - Enable - Disable - Uninstall 預設值是 Enable 。元素 State 只能使用版本 2014-06-01 或更高版本。 |
NamedRoles
指定套用至部署中特定角色的擴充功能清單。
元素名稱 | Description |
---|---|
角色 | 必要。 指定加入擴充功能的特定角色。 |
RoleName | 必要。 指定角色的名稱。 |
副檔名 | 必要。 指定要部署至雲端服務中之角色的擴充功能。 |
回應
回應包括 HTTP 狀態碼和一組回應標頭。
狀態碼
成功的作業會傳回狀態碼 200 (OK)。
回應標頭
這項作業的回應包括下列標頭。 回應也可能包括其他標準 HTTP 標頭。
回應標頭 | Description |
---|---|
x-ms-request-id |
唯一識別對管理服務發出之要求的值。 針對非同步作業,您可以使用標頭的值呼叫 取得作業狀態 ,以判斷作業是否已完成、失敗或仍在進行中。 |
回應本文
無。
備註
若要執行部署的自動更新,請呼叫 升級部署 或 變更部署組態 , Mode
並將 元素設定設為 automatic
。 更新便會從該時間點進行,而不需要任何進一步的輸入。 您可以呼叫 取得作業狀態 來判斷更新何時完成。
若要執行手動更新,請先呼叫 升級部署 , Mode
並將 元素設定為 manual
。 接下來,呼叫 WalkUpgradeDomain 以更新部署中的每個網域。 您應該呼叫 Get Operation Status 確定作業已完成後再更新下一個網域。
加入或移除角色執行個體的更新將會導致系統對雲端服務中部署的所有角色進行組態更新。 現有的角色執行個體必須收到新角色執行個體的通知,如此所有角色執行個體才能在雲端服務中相互通訊。
根據預設,雲端服務會使用五個更新網域來部署,而且將於就地更新期間一次更新一個更新網域。
若要判斷特定執行個體正在哪個更新網域中執行,請使用 UpdateDomain
類別的 RoleInstance
屬性。