SKU-instellingen overschrijven in .cscfg- en .csdef-bestanden voor Cloud Services (uitgebreide ondersteuning)

In dit artikel wordt beschreven hoe u de rolgrootte en het aantal exemplaren in Azure Cloud Services bijwerkt met behulp van de eigenschap allowModelOverride . Wanneer u deze eigenschap gebruikt, hoeft u de serviceconfiguratiebestanden (.cscfg) en servicedefinitiebestanden (.csdef) niet bij te werken. U kunt de cloudservice dus omhoog, omlaag, in of uit schalen zonder deze opnieuw te verpakken en opnieuw te implementeren.

De eigenschap allowModelOverride instellen

U kunt de eigenschap allowModelOverride instellen op true of false.

  • Wanneer allowModelOverride is ingesteld op true, wordt de rolgrootte en het aantal exemplaren voor de cloudservice bijgewerkt door een API-aanroep zonder de waarden te valideren met de .csdef- en .cscfg-bestanden.

    Notitie

    Het CSCFG-bestand wordt bijgewerkt om het aantal rolinstanties weer te geven. Het .csdef-bestand (ingesloten in de .cspkg) behoudt de oude waarden.

  • Wanneer allowModelOverride is ingesteld falseop, genereert een API-aanroep een fout als de waarden voor de rolgrootte en het aantal exemplaren niet overeenkomen met de waarden in respectievelijk de .csdef- en .cscfg-bestanden.

De standaardwaarde is false. Als de eigenschap opnieuw wordt ingesteld false nadat deze is ingesteld true, worden de .csdef- en Cscfg-bestanden opnieuw gevalideerd.

In de volgende voorbeelden ziet u hoe u de eigenschap allowModelOverride instelt met behulp van een ARM-sjabloon (Azure Resource Manager), PowerShell of de SDK.

ARM-sjabloon

Als u de eigenschap allowModelOverride instelt, true wordt de cloudservice bijgewerkt met de roleigenschappen die in de roleProfile sectie zijn gedefinieerd:

"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

Als u de AllowModelOverride schakeloptie op de nieuwe New-AzCloudService cmdlet instelt, wordt de cloudservice bijgewerkt met de SKU-eigenschappen die zijn gedefinieerd in het rolprofiel:

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

Als u de AllowModelOverride variabele instelt om de cloudservice bij te true werken, worden de SKU-eigenschappen die zijn gedefinieerd in het rolprofiel:

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

In Azure Portal kunt u de eigenschap allowModelOverride niet gebruiken om de rolgrootte en het aantal exemplaren in de .csdef- en .cscfg-bestanden te overschrijven.

Volgende stappen