APIM:通过传递的订阅密钥查找组名

时间:2020-10-13 19:49:54

标签: azure azure-api-management

我正在尝试在APIM中创建一个策略,该策略为在标头中传递的订阅密钥获取产品。我需要获取该产品名称,并对后端服务使用该名称进行set-header。是否可以通过APIM政策来实现?

1 个答案:

答案 0 :(得分:0)

首先,我们添加了两个订阅范围:所有API和一个API。订阅范围不再限于API产品。现在可以创建授予对API或API Management实例中所有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,您将获得如下快照。

enter image description here