为Azure中的APIM实例使用相同的订阅键



我们使用的是APIM高级版本,我们的是双活多区域设置。我们面临的问题是,当一个区域UI调用另一个区域API时,调用失败,因为两个区域上的APIM的订阅密钥不同。是否有一种方法可以为范围"服务"的默认订阅设置订阅键?我从这里尝试了下面的powershell命令,但是第二个命令失败了,说没有找到资源组,尽管从第一个命令它能够拉出详细信息。

$apimContext = New-AzureRmApiManagementContext -ResourceGroupName "<RGName>" -ServiceName "<apimname>"
Set-AzureRmApiManagementSubscription -Context $apimContext -SubscriptionId "<azuresubscriptionid>" -PrimaryKey "<key1>" -SecondaryKey "<key2>" -State "Active" -Scope "Service"

我也检查了这个问题,但答案中的链接显示404.

除了重置APIM订阅密钥之外,对于这类场景,我们还可以遵循其他最佳实践吗?

这篇文章可能会帮助您实现您想要的。用户需要在两个不同环境之间具有相同的订阅键值。为了做到这一点,他启用了Management API,并使用Postman通过REST调用更新密钥。

而@NadineRaiss的答案解决了问题。我想补充一下我在powershell中遇到的问题。我已经在az cli中设置了上下文,az帐户设置,但如果我们使用powershell,我们需要使用set-azcontext来设置powershell上下文。一旦我设置好并运行命令,我就可以实现我想要的了。

同样,使用这个方法我们不能更新全局订阅(master),我们只能设置自定义创建的产品订阅。

最新更新