我试图将新的流量管理器端点添加到作为部署管道的一部分的PowerShell脚本中的现有配置文件。 在Azure门户中,我可以简单地添加第二个端点并分配新的优先级。由于我使用加权策略,优先级对我来说毫无意义,所以我不在乎它是什么。我不想用一个随机数来设置它,因为这可能会导致失败。通过PowerShell添加新的流量管理器配置文件
该文档声称新端点应该被自动分配一个新值,但是这只有在我先删除所有现有端点然后将它们全部添加回来时才有效。由于get-AzureRMTrafficManagerEndPoint cmdlet需要端点名称(不是可选的)我不知道我无法删除并重新添加它们的所有端点名称。
我接近这个错误吗?这是一个错误吗?我使用的命令是否错误?
错误文本是“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"
$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
感谢您的回复。尽管如此,这还是很重要的一点。我只能在这里做,因为它是示例代码。在应用程序中,我不会知道配置文件中第一个端点的任何细节,因此无法再次删除并添加它。把第二个例子看作两个独立的脚本,它们需要几小时或几天的时间(一个站点的不同部署)。我刚刚发现还有一个新的trafficmanagerendpoint命令,所以我给了一个旋风,但我仍然不明白为什么上述不起作用。 –
我也找不到第一个端点的详细信息,因为get命令只返回一个端点,您必须命名它才能恢复。非常奇怪的命令! –
在第二个例子中,抛出的异常在哪里,它是否给你抛出异常的PS行?我会说,你需要在不同的会话中运行它们来尝试模拟你试图达到的目标。因此,添加第一个端点,然后在新的PS Session中添加第二个端点。 'Get-AzureRmTrafficManagerProfile'返回我在测试中配置的两个端点。 –