azure - APIM : 通过传递的订阅密钥查找组名
问题描述
我正在尝试在 APIM 中创建一个策略,该策略为标头中传递的订阅密钥获取产品。我需要获取该产品名称并将set-header
该名称用于后端服务。是否可以通过 APIM 政策来实现?
解决方案
首先,我们添加了另外两个订阅范围:所有 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
,您将获得如下快照。
推荐阅读
- android - 我已经从 Android Studio 构建了 apk 文件,但有时在 Playstore 上上传时出现以下错误
- javascript - 在 javascript 中显示 Node 对象内容
- database - 将数据从 Pandas Dataframe 复制到 Amazon RedShift 表时出错
- objective-c - pdfdocument writetToFile 方法崩溃
- java - 我如何设置列表中的值
kotlin 中的构造函数参数 - c++ - 使用 Gstreamer1.0 GTK+3.0 显示视频
- android - 找不到 java/util/function/BiConsumer 的字节码
- initialization - 在 Swift 中初始化后链接方法/函数
- spring-boot - 在 Spring Boot 中使用 @value 注解有什么好处
- r - 将 PostgresqlResult 转换为 R 数据框