継続的な展開シナリオを修正しようとしていますが、これが機能するには、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