Åsidosätt SKU-inställningar i .cscfg- och .csdef-filer för Cloud Services (extended-support)

Den här artikeln beskriver 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, i eller ut molntjänsten utan att packa 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 antalet instanser för molntjänsten utan att verifiera värdena med .csdef- och .cscfg-filerna.

    Kommentar

    .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 ställer in växeln AllowModelOverride på 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

Azure-portalen tillåter inte att du använder egenskapen allowModelOverride för att åsidosätta rollstorleken och antalet instanser i csdef- och .cscfg-filerna.

Nästa steg