首页 > 解决方案 > APIM : 通过传递的订阅密钥查找组名

问题描述

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

标签: azureazure-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,您将获得如下快照。

在此处输入图像描述


推荐阅读