azure-api-management 相关问题

Azure API Management是一种云托管服务,可以在任何平台上为现有HTTP API添加许多功能。这包括与安全性,API密钥管理,缓存,文档和许多其他交叉策略相关的功能。有关详细信息,请参阅:http://azure.microsoft.com/apim

从我的 Asp.Net Core Blazor 网站以编程方式添加 Azure APIM 用户和订阅

我想从我的网站而不是 Azure 门户添加 Azure APIM 用户和订阅。 并想在我的网站中显示订阅密钥... 有没有任何图书馆或可用的东西??? ...

回答 1 投票 0

Azure API 管理:如何将原始响应正文存储为变量并输出选定字段?

我在 Azure API 管理中创建了一个简单的 API,目的是在 Azure DevOps Boards 中创建工作项。我在 Azure Board 端点的 API 策略中创建了一个 标签...

回答 1 投票 0

验证内容返回 json 内容类型 Azure Api 管理策略的错误

我正在使用以下代码 我正在使用以下代码 <validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent" errors-variable-name="requestBodyValidation"> <content type="application/json" validate-as="json" action="ignore" /> </validate-content> 在 api 管理策略中,但是当我发送内容类型为 application/json 的请求时,我收到错误 Unspecified content type application/json is not allowed 不确定问题所在,或者我对政策的理解有误。 有什么建议或解决方案吗? 我遇到了同样的问题,并且能够找到一种方法来重现和解决。 如果您的操作未定义任何表示并使用验证内容策略,您将收到此错误。 最简单的修复:单击“操作”,在“前端”下选择基于表单的编辑器(铅笔图标)。单击“请求”选项卡。在“表示”下,单击“添加表示”。搜索“json”并选择“application/json”。保存前端更改。 现在操作和验证内容应该可以正常运行。 我希望对某人有帮助。 validate-content策略用于根据 API 架构验证请求或响应正文的大小或 JSON 架构。除 JSON 外,不支持其他格式。 以下示例显示了如何验证请求和响应中的 JSON 负载。有效负载大于 100 KB 的消息将被阻止。 <validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent" errors-variable-name="requestBodyValidation"> <content type="application/json" validate-as="json" action="detect" /> <content type="application/hal+json" validate-as="json" action="detect" /> </validate-content> 我建议阅读 Microsoft 的此用于验证请求和响应的 API 管理策略文档,以获取有关 validate-content 策略的详细信息。 这应该可以解决您面临的问题。但如果您仍然遇到相同的错误,请向Azure 支持提出请求。 这有点乱,但我iravenscroft的answer帮助我解决了这个问题。我只是想提供一些额外的背景信息。 我添加了我的内容类型,如链接答案中所述: 然后在您想要的位置添加您的 validate-content 政策: <validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent" errors-variable-name="validationError"> <content type="application/vnd.my-content-type+json" validate-as="json" action="prevent" schema-id="my-schema-id" /> </validate-content> 在我的例子中,my-schema-id是在实例级别上传的模式: 这样,验证就可以按预期进行。

回答 3 投票 0

我们可以在 Azure API 管理中为传出请求配置 mTLS 吗?

我们正在将我们的应用程序与第三方集成,协议是使用 mTLS。根据我的理解,我们可以配置我们的 APIM 来加载第三方的证书,这样当它们

回答 1 投票 0

如何提取通过 APIM 传递的 JWT 声明?

我在.NET中有以下控制器: [API控制器] [路线(“api”)] 公共类 TestController :ControllerBase { 公共测试控制器(){} [HttpGet("测试")]

回答 1 投票 0

在 Azure API 管理中,如何在将正文传递到后端 URL 之前使用表单数据正文向传入请求添加变量?

在 Azure API 管理中,我有一个传入请求,该请求传递 multipart/form-data 正文,我想在将 multipart/form-data 正文发送到后端 UR 之前向其添加更多变量...

回答 1 投票 0

使用 Azure ACR API 列出存储库标签

我正在尝试向 https://acr-name.azurecr.io/v2/image-name/tags/list 发送 GET 请求,但我不确定要使用哪个令牌,因为我不断收到: { “错误”:[ { ”

回答 2 投票 0

使用 OAuth 2.0 配置 Azure APIM 应用程序,这将使用 JWT 令牌保护 API

我有 Azure APIM 应用程序,其中配置了“OAuth 2.0 + OpenID Connect”>“OAuth 2.0”>“添加”> 我已添加所有必需的详细信息。 此处添加的授权和令牌端点取自...

回答 1 投票 0

为什么Azure函数部署到api管理失败?

使用 Visual Studio 17.8.3,我尝试将 .Net8 隔离的 C# Azure Function 项目发布到 Azure,包括使用 Github CI/CD 工作流程将其加载到 API 管理服务。这是其中之一...

回答 1 投票 0

使用其用户分配的身份从 APIM 调用在 Azure 容器应用程序上运行的 api 的 Api 策略

Api 正在 Azure 容器应用程序上运行,用户分配的身份为 uai_1。 Apim 正在使用用户分配的身份 uai_2 运行。我已经设置了 api 策略(请参阅下面的代码),以便 apim 可以调用 ap...

回答 1 投票 0

尝试访问日志分析工作区时出现路径错误

我正在尝试从 Azure 中的日志分析工作区获取日志。在尝试使用 Python 访问工作区时,我收到如下 PathNotFoundError 错误。 监视器资源 ID = "/

回答 1 投票 0

管理 API 升级后,API 管理连接器在逻辑应用中无法使用

Advisor 的消息告诉我,Azure API Management 的管理 API 将升级到较新的版本,并且包含“快速修复”按钮以帮助调整一些参数。正如我...

回答 1 投票 0

graph.microsoft.com 的 API 管理 validate-jwt

我正在尝试做一些感觉应该“开箱即用”的事情。我的 SharePoint 网站上的用户已经通过 SSO 进行了身份验证,并且我正在启动对 g...

回答 1 投票 0

如何在 Azure API 管理策略中引发错误?

在我的 Azure API 管理策略中,我正在检查一些标头,并根据发现的内容执行某些操作。 当没有任何条件匹配时(即在其他...

回答 2 投票 0

Azure APIM 不验证 JWT 过期时间

我已向 APIM 添加了“validate-jwt”策略,以验证颁发者签名密钥以及所提供 JWT 的过期情况。它成功验证了发行者签名密钥并拒绝任何 JWT ...

回答 1 投票 0

Azure API 管理 (APIM) - API x-functions-key 不在收听者中

我有一个 Azure Function App,最近使用“az apim api import”cli 命令导入到 Azure APIM 中。这将是发布管道的一部分。到目前为止,导入的API正在运行

回答 2 投票 0

APIM 请求 URL 可选路径

我正在使用 APIM 从外部服务获取数据(当然指向逻辑应用程序 HTTP 请求,使用 POST 方法)。该服务具有动态 URL,这些 URL 不断传递到我的 APIM API ...

回答 1 投票 0

使用 apiVersionSetId 创建 API 操作时如何更新父 API 集的 serviceUrl

我在 BICEP 代码中创建了这个 API 集: 资源 NamesApi 'Microsoft.ApiManagement/service/apis@2022-08-01' = { 名称:'${name}-api-交易' 父级:apimService 特性: { 显示...

回答 1 投票 0

Azure APIM 触发按键速率限制时出现意外响应正文

我的 APIM 中有一项策略,用于在名为“client-id”的标头在一分钟内调用端点两次以上时限制对端点的调用。 节流部分工作正常,但是

回答 1 投票 0

Azure APIM 策略根据环境设置后端服务 url

<policies> <inbound> <choose> <when condition="@(context.Request.OriginalUrl.Host.Contains("xyz.prod.abc.com"))"> <set-backend-service base-url=https://xyz.alpha.abc.com/lead /> </when> <when condition="@(context.Request.OriginalUrl.Host.Contains("xyz.uat.abc.com"))"> <set-backend-service base-url=https://xyz.uat.alpha.abc.com/lead /> </when> <when condition="@(context.Request.OriginalUrl.Host.Contains("xyz.qa.abc.com"))"> <set-backend-service base-url=https://xyz.qa.alpha.abc.com/lead /> </when> <otherwise> <set-backend-service base-url=https://xyz.dev.alpha.abc.com/lead/> </otherwise> </choose> <base /> </inbound> <backend> <base /> </backend> <outbound> <base /> </outbound> <on-error> <base /> </on-error> 上述策略是否是为新加入的 Azure APIM API 设置后端 URL 的正确且最佳的方法? 或者有更好的方法来做同样的事情吗? 本质上,我希望后端uri能够根据APIM的环境动态设置。如果我在命名值中为每个环境都有一个后端 uri ...我可以动态使用它并且可以改进策略以使其更加简洁吗? 本质上,我希望后端uri能够根据APIM的环境动态设置。如果我在命名值中为每个环境都有一个后端 uri ...我可以动态使用它并且可以改进策略以使其更加简洁吗? 是的,您可以使用存储在命名值中的后端 uri,只需进行少量修改即可使用您的策略。 <policies> <inbound> <choose> <when condition="@(context.Request.OriginalUrl.Host.Contains("xyz.prod.abc.com"))"> <set-backend-service base-url="{{BackendUrl-For-Prod}}" /> </when> <when condition="@(context.Request.OriginalUrl.Host.Contains("xyz.uat.abc.com"))"> <set-backend-service base-url="{{BackendUrl-For-URL}}" /> </when> <when condition="@(context.Request.OriginalUrl.Host.Contains("xyz.qa.abc.com"))"> <set-backend-service base-url="{{BackendUrl-For-QA}}" /> </when> <otherwise> <set-backend-service base-url="{{BackendUrl-For-Dev}}" /> </otherwise> </choose> <base /> </inbound> </policies> 感谢@Thomas的评论。通过使用此策略,您可以引用命名值中的后端 URL,但订阅密钥和产品对于所有环境都将相同。 如果您希望所有环境都使用相同的密钥,那么您可以使用上述策略,或者您可以根据您的环境创建单独的 API。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.