7

継続的な展開シナリオを修正しようとしていますが、これが機能するには、Azure Web サイトが存在し、ステージングと運用の間で交換できる必要があります。この Web サイトをStandard価格レベルで機能させたいと考えています。

私が現在持っているスクリプトは、新しい ResourceGroup、Hosting Plan を作成し、これらが作成された後、Web サイト自体を作成します。私が直面している問題は、ウェブサイトが常にFreeモードになっていることです。Set-AzureResourceコマンドレットを使用してこれを修正できるはずですが、これはLocation. これに関する問題は、この特定のコマンドレットにLocationパラメーターがないことです。

Set-AzureResource : {
  "Error": {
    "Code": "LocationRequired",
    "Message": "The location property is required for this definition.",
    "Target": null,
    "Details": null
  }
}

これは、すべてのリソースを作成するために使用している (簡略化された) スクリプトです。

#Create the resource group
New-AzureResourceGroup -Location $location -Name $resourceGroupName -Force

#Create the hosting plan
$hostingPlanParameters = @{"name" = $hostingPlanName; "sku" = "Standard"; "computeMode" = "Standard"; "workerSize" = "0"; "numberOfWorkers" = "1"}

New-AzureResource -ApiVersion 2014-04-01 -Name $hostingPlanName -ResourceGroupName $resourceGroupName `
                            -ResourceType Microsoft.Web/serverFarms -Location $location `
                            -PropertyObject $hostingPlanParameters -Verbose -Force
#Create the website
$analyticsSite = @{"sku" = "Standard"; "webHostingPlan" = $hostingplan; "computeMode" = "Standard"; }
New-AzureResource  -Name $label -ResourceType Microsoft.Web/sites `
                             -ResourceGroupName $resourceGroupName -Location $location `
                             -ApiVersion $apiVersion -PropertyObject $analyticsSite -Force

Set-AzureResource -Name $label -ResourceType Microsoft.Web/sites `
                             -ResourceGroupName $resourceGroupName -ApiVersion $apiVersion `
                             -PropertyObject $analyticsSite -Force

Web サイトは指定されたホスティング プランを継承する必要があると読んだskuので、更新する必要はありません。これは、上記のスクリプトでは機能しないようです。ホスティング プランは指定されていますが、設定は継承されません。

作成されたホスティング プランのプロパティは次のようになります。

PropertiesText    : {
                      "name": "devHostingPlanWestEU10",
                      "sku": "Standard",
                      "workerSize": 0,
                      "workerSizeId": 0,
                      "numberOfWorkers": 1,
                      "currentWorkerSize": 0,
                      "currentWorkerSizeId": 0,
                      "currentNumberOfWorkers": 1,
                      "status": 0,
                      "webSpace": "ResourceGroupWestEU10-WestEuropewebspace",
                      "subscription": "ad7add9b-8b7a-45df-8e95-0e7fccbr78a5",
                      "adminSiteName": null,
                      "hostingEnvironment": null,
                      "maximumNumberOfWorkers": 0,
                      "planName": null,
                      "perSiteScaling": null,
                      "hostingEnvironmentId": null
                    }

これは私には大丈夫に見えます。Web サイトが作成されると、これらのプロパティが出力されます。

PropertiesText    : {
                      "name": "Testert10",
                      "state": "Running",
                      "hostNames": [
                        "testert10.azurewebsites.net"
                      ],
                      "webSpace": "ResourceGroupWestEU10-WestEuropewebspace",
                      ...
                      "repositorySiteName": "Testert10",
                      "owner": null,
                      "usageState": 0,
                      "enabled": true,
                      ...
                      "computeMode": null,
                      "serverFarm": "Default1",
                      "serverFarmId": null,
                      "lastModifiedTimeUtc": "2015-05-21T11:52:30.773",
                      "storageRecoveryDefaultState": "Running",
                      "contentAvailabilityState": 0,
                      "runtimeAvailabilityState": 0,
                      "siteConfig": null,
                      "deploymentId": "Testert10",
                      "trafficManagerHostNames": null,
                      "sku": "Free",
                      "premiumAppDeployed": null,
                      "scmSiteAlsoStopped": false,
                      "targetSwapSlot": null,
                      "hostingEnvironment": null,
                      "microService": "WebSites",
                      "gatewaySiteName": null,
                      "kind": null,
                      "cloningInfo": null,
                      "hostingEnvironmentId": null
                    }

ご覧のとおり、computeMode、serverFarm、hostingEnvironment、および sku には、$analyticsSiteオブジェクトに設定したプロパティが設定されていません。

したがって、おそらくリソースを更新する必要がありますが、これにより上記のエラーがスローされます。

また、例としてTroy Hunt のブログ投稿を使用してNew-AzureWebsite、 を使用してみました。ただし、この投稿も の使用に依存しているため、同じ問題に陥ります。この例の別の問題は、サイトを作成するリソース グループとホスティング プランを制御できないことです。これにより、サイトを検索するときに少し問題が発生します。Set-AzureResource

4

3 に答える 3