Åsidosätt SKU-inställningar i .cscfg- och .csdef-filer för Cloud Services (utökad support)
I den här artikeln beskrivs hur du uppdaterar rollstorleken och antalet instanser i Azure Cloud Services med hjälp av egenskapen allowModelOverride . När du använder den här egenskapen behöver du inte uppdatera tjänstkonfigurationsfilerna (.cscfg) och tjänstdefinitionsfilerna (.csdef). Så du kan skala upp, ned, in eller ut molntjänsten utan att paketera om och distribuera om den.
Ange egenskapen allowModelOverride
Du kan ange egenskapen allowModelOverride till true
eller false
.
När allowModelOverride är inställt på
true
uppdaterar ett API-anrop rollstorleken och instansantalet för molntjänsten utan att verifiera värdena med .csdef- och .cscfg-filerna.Anteckning
.cscfg-filen uppdateras för att återspegla antalet rollinstanser. .csdef-filen (inbäddad i .cspkg) behåller de gamla värdena.
När allowModelOverride har angetts till
false
utlöser ett API-anrop ett fel om värdena för rollstorlek och antal instanser inte matchar värdena i .csdef- respektive .cscfg-filerna.
Standardvärdet är false
. Om egenskapen återställs till false
efter att ha angetts till true
verifieras .csdef- och .cscfg-filerna igen.
Följande exempel visar hur du anger egenskapen allowModelOverride med hjälp av en ARM-mall (Azure Resource Manager), PowerShell eller SDK.
ARM-mall
Om du anger egenskapen allowModelOverride till true
här uppdateras molntjänsten med rollegenskaperna som definierats i roleProfile
avsnittet:
"properties": {
"packageUrl": "[parameters('packageSasUri')]",
"configurationUrl": "[parameters('configurationSasUri')]",
"upgradeMode": "[parameters('upgradeMode')]",
"allowModelOverride": true,
"roleProfile": {
"roles": [
{
"name": "WebRole1",
"sku": {
"name": "Standard_D1_v2",
"capacity": "1"
}
},
{
"name": "WorkerRole1",
"sku": {
"name": "Standard_D1_v2",
"capacity": "1"
}
}
]
},
PowerShell
Om du anger växeln AllowModelOverride
för den nya New-AzCloudService
cmdleten uppdateras molntjänsten med de SKU-egenskaper som definierats i rollprofilen:
New-AzCloudService `
-Name "ContosoCS" `
-ResourceGroupName "ContosOrg" `
-Location "East US" `
-AllowModelOverride `
-PackageUrl $cspkgUrl `
-ConfigurationUrl $cscfgUrl `
-UpgradeMode 'Auto' `
-RoleProfile $roleProfile `
-NetworkProfile $networkProfile `
-ExtensionProfile $extensionProfile `
-OSProfile $osProfile `
-Tag $tag
SDK
Om du anger variabeln AllowModelOverride
till true
uppdateras molntjänsten med de SKU-egenskaper som definierats i rollprofilen:
CloudService cloudService = new CloudService
{
Properties = new CloudServiceProperties
{
RoleProfile = cloudServiceRoleProfile
Configuration = < Add Cscfg xml content here>
PackageUrl = <Add cspkg SAS url here>,
ExtensionProfile = cloudServiceExtensionProfile,
OsProfile= cloudServiceOsProfile,
NetworkProfile = cloudServiceNetworkProfile,
UpgradeMode = 'Auto',
AllowModelOverride = true
},
Location = m_location
};
CloudService createOrUpdateResponse = m_CrpClient.CloudServices.CreateOrUpdate("ContosOrg", "ContosoCS", cloudService);
Azure Portal
Med Azure-portalen kan du inte använda egenskapen allowModelOverride för att åsidosätta rollstorleken och antalet instanser i .csdef- och .cscfg-filerna.
Nästa steg
- Visa distributionskraven för Cloud Services (utökad support).
- Visa vanliga frågor och svar om Cloud Services (utökad support).