【发布时间】:2020-10-13 19:49:54
【问题描述】:
我正在尝试在 APIM 中创建一个策略,用于获取标头中传递的订阅密钥的产品。我需要获取该产品名称并使用该名称为后端服务执行set-header。是否可以通过 APIM 政策来实现?
【问题讨论】:
标签: azure azure-api-management
我正在尝试在 APIM 中创建一个策略,用于获取标头中传递的订阅密钥的产品。我需要获取该产品名称并使用该名称为后端服务执行set-header。是否可以通过 APIM 政策来实现?
【问题讨论】:
标签: azure azure-api-management
首先,我们添加了另外两个订阅范围:所有 API 和单个 API。订阅范围不再局限于 API 产品。现在可以创建密钥来授予对 API 或 API 管理实例中所有 API 的访问权限,而无需先创建产品并将 API 添加到其中。此外,每个 API 管理实例现在都附带一个不可变的全 API 订阅。此订阅使在测试控制台中测试和调试 API 变得更容易、更直接。
您可以使用@(context.Product.Name) 获取产品名称。
<inbound>
<base />
<set-variable name="aaa" value="@(context.Product.Name)" />
<set-body template="liquid">
{
"success": true,
"var1": {{context.Variables["aaa"]}}
}
</set-body>
</inbound>
在测试中,将产品名称设置为Starter,您将得到如下快照。
【讨论】: