Å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å trueuppdaterar 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 falseutlö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 trueverifieras .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