问题标签 [apim]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何在 Azure API 管理策略中重用响应上下文变量?
我正在使用 Azure API 管理解决方案编写概念证明。
我正在尝试编写<inbound>
执行以下操作的策略:
- 用于
<send-request>
向 API 的身份验证端点发出请求。 - 身份验证 API 返回两个密钥,它们必须作为 http 标头包含,以便能够向其他端点发出后续请求。
- 我正在使用将来自身份验证 API 的响应解析为 json
JObject
- 然后我试图从 json 对象的两个属性中读取值(它们是字符串)
- 然后,我将向不同的 API 端点发出后续请求,并设置两个 http 标头。标头的值必须是来自第一个(身份验证)响应的两个变量。
这是我的政策目前的样子:
我遇到的问题是围绕设置第二个标头(令牌 B)的值。看来我不能重用上下文变量(IResponse)context.Variables["auth"]
。
当我查看跟踪时,我看到第一个<set-header>
策略的以下输出:
"message":"表达式评估成功。", "value":"xxxxxxxxxxxxxxxxxxxxx"
但对于第二个<set-header>
政策,我得到:
"message":"表达式评估失败。", "details":"对象引用未设置为对象的实例。"
我可以看到,在第一个策略上调用该方法后,我不再能够在第二个<set-header>
策略中以相同的方式重用上下文变量。
我努力了:
- 使用 设置令牌字符串
<set-variable>
。我相信<set-variable>
可以返回的类型数量有限,我不能返回IResponse
或JObject
. 如果我尝试转换为 json,然后提取每个属性(TokenA 和 TokenB)的字符串,我会遇到与上述相同的问题。
有人可以帮助我使用允许我复制IResponse
对象的语法,或者JObject
让我可以使用它来阅读它两次.SelectToken()
吗?我确定我误解了一个基本概念,但我远非经验丰富的 C# 开发人员!
谢谢
apim - APIM 命名值通过 powershell/cli 创建/更新
有没有一种方法可以通过 power-shell 或 azure cli 创建或更新 apim 命名值。我尝试搜索 Microsoft 文档,但无法获得任何相关信息。是否有任何命令让,我试图通过 power-shell 或 azure cli 创建新的命名值或更新现有的命名值
azure - 添加 JWT 入站策略时出错:元素“validate-jwt”中的错误:无法解析证书“”
使用 Azure APIM 添加入站策略以验证 JWT 时,配置编辑器会引发以下错误:
One or more fields contain incorrect values: Error in element 'validate-jwt' on line 16, column 10: Certificate '' could not be resolved.
我可以看到它是issuer-signing-keys
导致问题的节点,因为删除它可以保存它。以下是策略文件的示例:
提前感谢您的帮助
liquid - Azure APIM | Liquid 模板 - 无需集成帐户即可将 JSON 转换为 XML
我正在构建一个逻辑应用程序来从我的本地 SQL 数据库中提取数据 -> 将其转换为 XML -> 将其发送到 SOAP API。
这是我从本地数据库进入 Logic App 的示例数据:
...然后我的计划是调用内部 API 并应用某种策略(我相信我们可以在入站/出站策略中使用 Liquid 模板,而无需使用集成帐户或 Azure 函数)将上述数据转换为以下 XML,但我与之斗争:
有人可以帮忙吗。
azure - Azure APIM 内部 Vnet 集成。无法部署/创建 API & [无法连接到管理端点]
我有 Azure APIM 设置并使用 azure devops 管道将一些 api 部署到 apim 实例中。后来我们想将 APIM 与 Vnet 集成,因此将 apim 实例分配给具有专用子网的 Vnet,并根据 MSFT 文档分配了推荐端口打开的 NSG 规则。还附加了证书并定义了一些自定义域名。但是一天结束时,我无法看到 API,也无法再次创建/部署到实例。不完全确定问题是什么?
这是我每次进入实例页面时看到的错误之一。
不知道是这个问题还是其他问题......
非常感谢任何帮助或信息。
azure - 来自 Azure API 管理服务的 REST API Post 调用需要 HTTP/1.1 411 长度
curl -kvs -X POST https://xxxx-xxxx.azure-api.net/*******/reports -k -H "帐户:********" -H "Ocp- Apim 订阅密钥:***********"
在进行此卷曲时,我收到错误消息为 HTTP/1.1 411 Length Required。我知道我们可以通过将 content -length 标头添加到 curl 来解决此问题。但是我们可以从 azure apim 级别做一些事情来修复它吗?
提前致谢。
azure - 如何使用 Azure API 管理为 API 中的每个方法设置 405 Method Not Allowed
在 azure API 管理中如何设置 405(不允许方法)策略。我正在使用 azure API 管理 API 并添加不同的策略,例如 jwt 验证、IP 过滤、速率限制等等。但我找不到添加 APIM 中不允许的 405 方法的方法。我想为每种方法设置它。这意味着我想阻止来自 APIM 的传入无法识别的方法请求。(例如:Get 而不是 POST(APIM 不允许抛出 405 方法)。目前 APIM 将错误的方法传递给后端,并从应用程序返回 404。任何人都知道我们如何阻止来自 APIM 端的错误请求并返回 405将其传递给后端并返回 404?
api - 在 Azure 中配置嵌套流量管理器 API 管理
我已将 API 管理服务部署为内部 vnet 并创建了一个虚拟 API。部署应用程序网关,将 API 管理服务作为后端池。每个到达区域部署 1 个 AppGW 实例和 API 管理服务。
部署了流量管理器配置文件,它具有两个应用程序网关作为端点。DNS 条目是为流量管理器配置文件和 API 管理网关、开发人员门户、SCM、门户和管理创建的。
如果我访问流量管理器,我可以从 API 获得响应。
我想为每个 API 部署一个嵌套的流量管理配置文件,以便它可以探测 API 的运行状况。我需要在子流量管理器配置文件中选择哪些选项,以便它可以监控 API 的运行状况。
azure - 如何在 APIM 策略中解码 URL
我想解码 URL 中的查询参数。我将查询参数值传递为
但是当我获取参数的值时,它显示为
我只想将值设为“somevalue%”。目前我正在使用 Replace ,但我想要一些解码方法。
谢谢。