私は、配備パイプラインの一部としてPowerShellスクリプト内の既存のプロファイルに新しいTraffic Managerエンドポイントを追加しようとしています。 Azureポータルでは、2番目のエンドポイントを追加するだけで新しい優先順位が割り当てられます。私は重み付けされたポリシーを使用しているので、優先順位は意味がありませんので、私はそれが何であるか気にしません。私はそれがまだ仕事に失敗する可能性があるので、乱数でそれを設定したくありません。PowerShellを使用して新しいTraffic Managerプロファイルを追加する
ドキュメントでは、新しいエンドポイントに新しい値を自動的に割り当てる必要があると主張していますが、これはすべての既存のエンドポイントを最初に削除してからすべて追加した場合にのみ機能します。get-AzureRMTrafficManagerEndPointコマンドレットはエンドポイント名私はそれらを削除して再追加する方法がないエンドポイント名のすべてを知っていません。
私はこれに間違っていますか?バグですか?間違ったコマンドを使用していますか?
エラーテキストは、 "Set-AzureRmTrafficManagerProfile:BadRequest:エンドポイントの優先度が正しく設定されていません。エンドポイントのすべてまたは一部に優先度を設定する必要があります。
このコードは動作します:
$TrafficManagerProfile = Get-AzureRmTrafficManagerProfile -Name "TMName" -ResourceGroupName "TMRGName"
$publicIPObj = Get-AzureRmPublicIpAddress -ResourceGroupName "App1RGName"
Add-AzureRmTrafficManagerEndpointConfig -EndpointName "App1" -EndpointStatus Enabled -TargetResourceId $publicIPObj.id -TrafficManagerProfile $TrafficManagerProfile -Type AzureEndpoints -Weight 10
$publicIPObj = Get-AzureRmPublicIpAddress -ResourceGroupName "App2RGName"
Add-AzureRmTrafficManagerEndpointConfig -EndpointName "App2" -EndpointStatus Enabled -TargetResourceId $publicIPObj.id -TrafficManagerProfile $TrafficManagerProfile -Type AzureEndpoints -Weight 10
Set-AzureRmTrafficManagerProfile -TrafficManagerProfile $TrafficManagerProfile
このコードは失敗します。あなたのコードが動作していると$TrafficManagerProfile = Get-AzureRmTrafficManagerProfile -Name "TMName" -ResourceGroupName "TMRGName"
の余分なラインは、これが失敗の原因となっている
$TrafficManagerProfile = Get-AzureRmTrafficManagerProfile -Name "TMName" -ResourceGroupName "TMRGName"
$publicIPObj = Get-AzureRmPublicIpAddress -ResourceGroupName "App1RGName"
Add-AzureRmTrafficManagerEndpointConfig -EndpointName "App1" -EndpointStatus Enabled -TargetResourceId $publicIPObj.id -TrafficManagerProfile $TrafficManagerProfile -Type AzureEndpoints -Weight 10
Set-AzureRmTrafficManagerProfile -TrafficManagerProfile $TrafficManagerProfile
$TrafficManagerProfile = Get-AzureRmTrafficManagerProfile -Name "TMName" -ResourceGroupName "TMRGName"
$publicIPObj = Get-AzureRmPublicIpAddress -ResourceGroupName "App2RGName"
Add-AzureRmTrafficManagerEndpointConfig -EndpointName "App2" -EndpointStatus Enabled -TargetResourceId $publicIPObj.id -TrafficManagerProfile $TrafficManagerProfile -Type AzureEndpoints -Weight 10
Set-AzureRmTrafficManagerProfile -TrafficManagerProfile $TrafficManagerProfile
返信いただきありがとうございます。しかしそれは一種のポイントです。私はサンプルコードなので、ここでのみ行うことができます。アプリケーションでは、プロファイルの最初のエンドポイントの詳細がわからないので、2回目のエンドポイントを削除して追加することはできません。 2番目の例は、数時間または数日離れて実行される2つの別々のスクリプト(サイトの異なる展開)と考えることができます。私はちょうどそこにもnew-trafficmanagerendpointコマンドがあることを発見したので、それは旋風を与えているが、私はまだ上記がうまくいかない理由を見ない。 –
getコマンドは1つのエンドポイントしか返さないため、最初のエンドポイントの詳細を見つけることができません。非常に奇妙なコマンド! –
2番目の例では、どこに例外がスローされますか?例外をスローしたPSの行が表示されますか?私はあなたが達成しようとしていることをシミュレートするために別々のセッションでそれらを実行する必要があると言います。したがって、最初のエンドポイントを追加し、新しいPSセッションに2番目のエンドポイントを追加します。 'Get-AzureRmTrafficManagerProfile'はテストで設定した両方のエンドポイントを返します。 –