我正在考虑将 API 网关从另一个解决方案更改为 Azure API 管理。这是针对我们无法控制的最终用户设备上拥有数百万现有用户/安装的现有应用程序。
为了保持现有应用版本对用户有效,这意味着我需要使用 API key 的自定义 header 以及自定义 API key 值。
我可以在 API 管理门户中更改 API key header 的名称,但我还没有找到使用现有 API key 值而不是使用新的 Azure 生成的 API key 来设置订阅的方法。
有办法做到这一点吗?我们不能强制现有用户升级应用,并且完全禁用 API key 似乎也不是一个好主意。
最佳答案
您可以使用 Set-AzureRmApiManagementSubscription 设置订阅的主键和辅助键.
$apimContext = New-AzureRmApiManagementContext -ResourceGroupName "{resource group name}" -ServiceName "{your APIM name}"
Set-AzureRmApiManagementSubscription -Context $apimContext -SubscriptionId "{subscription id}" -PrimaryKey "{an existing API key}" -SecondaryKey "{an existing API key}" -State "Active"
您可以使用 Get-AzureRmApiManagementSubscription 获取订阅 ID一开始。
请注意,在将现有键值设置为主键或辅助键之前,应将其从原始订阅中删除/删除具有现有键的订阅。换句话说, key 是唯一的,您不能在不同的订阅中保留相同的 key 。
关于azure - Azure API 管理订阅的自定义 API key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61951103/