gpt4 book ai didi

azure - 使用 Azure Api 管理作为直通

转载 作者:行者123 更新时间:2023-12-04 10:23:23 24 4
gpt4 key购买 nike

我想在 Azure API 管理中创建一个策略,将所有以“代理/搜索”路径开头的调用转发到另一个 URL。但是,我不想在 APIM 中为每种可能性导入/创建端点,因为这使其成为维护噩梦。例如..

到相应的...

我已经构建了下面的策略,但看起来 APIM 想要从它映射到后端的精确路由。我不想这样做,因为这个代理可能会转发到很多很多路由 API 等...

<policies>
<inbound>
<base />
<set-variable name="baseUrlSearch" value="https://mysearchapi.com/" />
<set-variable name="matchSearch" value="proxy/search" />
<set-variable name="isRoutingComplete" value="false" />
<set-variable name="apiVersionDefaultSearch" value="1.0" />
<choose>
<when condition="@{return context.Request.Url.Path.Contains(context.Variables.GetValueOrDefault<string>("matchSearch"));}">
<set-backend-service base-url="@(context.Variables.GetValueOrDefault<string>("baseUrlSearch"))" />
<rewrite-uri template="@(context.Request.Url.Path.Replace(context.Variables.GetValueOrDefault<string>("matchSearch"), ""))" />
<set-header name="Api-Version" exists-action="skip">
<value>@(context.Variables.GetValueOrDefault<string>("apiVersionDefaultSearch"))</value>
</set-header>
<set-variable name="isRoutingComplete" value="true" />
</when>
<when condition="@(!context.Variables.GetValueOrDefault<bool>("isRoutingComplete"))">
<return-response>
<set-status code="400" reason="Bad Request Through Proxy" />
</return-response>
</when>
</choose>
</inbound>
<outbound>
<base />
</outbound>
</policies>

最佳答案

你让你的生活变得比原本需要的更加困难。只需创建一个使用 /proxy/* 作为模板的操作,它将与您标识的所有 URL 匹配。

然后只需为该操作创建一个执行 set-backend-service 的策略。

关于azure - 使用 Azure Api 管理作为直通,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41862461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com