使用 URL 模板参数和函数后端进行 Azure API 管理

     2023-04-13     79

关键词:

【中文标题】使用 URL 模板参数和函数后端进行 Azure API 管理【英文标题】:Azure API management with URL Template Parameters and Function Backend 【发布时间】:2021-09-10 22:45:26 【问题描述】:

我正在尝试使用路由到 Azure 函数的 url 参数在 Azure API 管理上设置一个端点。

例如:GET my-api-gateway.azure-api.net.com/product/productId

我的入站策略只是设置后端并将模板参数移动到查询参数。

    <inbound>
        <base />
        <set-query-parameter name="productId" exists-action="override">
            <value>@(context.Request.MatchedParameters["productId"])</value>
        </set-query-parameter>
        <set-backend-service id="apim-generated-policy" backend-id="product-function" />
    </inbound>

但是,当我调用 my-api-gateway.azure-api.net.com/product/123 时,/123 也会传递给后端函数 url

https://my-function.azurewebsites.net/api/product-function/123?productId=123

导致 404。

有没有办法让这个工作?

【问题讨论】:

【参考方案1】:

一种解决方法是添加到后端的路由,如您在自己的答案中所示。但是,如果你不能这样做,那么回答你原来的问题是引入一个 uri 重写:

<inbound>
    <base />
    <rewrite-uri template="/product-function" copy-unmatched-params="false" />
    <set-query-parameter name="productId" exists-action="override">
        <value>@(context.Request.MatchedParameters["productId"])</value>
    </set-query-parameter>
    <set-backend-service id="apim-generated-policy" backend-id="product-function" />
</inbound>

【讨论】:

【参考方案2】:

问题是我还需要设置 routes 我的函数本身。

在我的function.json 中,我添加了以下内容以匹配我的 API,现在它可以工作了:

 "route": "product-function/productId?"

【讨论】:

如何使用 WordPress 配置 Windows Azure 以进行 URL 重写?

】如何使用WordPress配置WindowsAzure以进行URL重写?【英文标题】:HowDoYouConfigureWindowsAzureForUrlRewriteUsingWordPress?【发布时间】:2013-07-2603:42:45【问题描述】:我刚刚使用WindowsAzure和他们的WordPress博客模板创建了一个网站。我能够更新... 查看详情

flask数据通信的流程前后端刷新的方法

...是需要通过HTTP/HTTPS通信协议,这种协议实现数据通信,使用请求和响应完成一次完整Web通信的过程。1、后端刷新页面的流程1.1实现服务器的API接口文档1.2使用Flask实现Web服务器应用程序的构建1.3实现前端请求的URL,声明对应的Ro... 查看详情

仅使用 Azure 移动服务 .Net 后端进行推送

】仅使用Azure移动服务.Net后端进行推送【英文标题】:UsingAzureMobieService.Netbackendforpushonly【发布时间】:2014-09-1603:22:06【问题描述】:我正在为推送和许多其他工作制作Azure后台工作者角色。与AzurePushNotificationHubexample发送原始Json... 查看详情

在 Azure 函数中解析 URL

...布时间】:2018-07-1908:08:32【问题描述】:我正在学习如何使用Azure函数,对它很陌生。我有一个用NodeJs编写的httptriggerAzure函数。我正在考虑如何从httptrigger函数URL解析数据并在我的代码中使用它的逻辑。想要对此提出一些建议吗... 查看详情

Azure API 管理操作 URL 模板

】AzureAPI管理操作URL模板【英文标题】:AzureAPIManagementOperationURLTemplate【发布时间】:2015-01-2516:48:03【问题描述】:我正在尝试创建一个由AzureAPIManagement管理的简单、无参数的Webapi端点。我的问题是,当我添加无参数操作时,URL... 查看详情

djangourl和模板(代码片段)

1.URLURL地址说明:使用url给视图函数传参数在url配置中将正则部分小括号括起来。比如:url(r‘^time/plus/(d1,2)/$‘,views.hours_ahead)如果有多个参数则用/隔开,参数需要用分组,比如:url(r‘^time/plus/(d1,2)/(d1,2)/$‘,views.hours_ahead),给参... 查看详情

将通知模板从应用后端注册到 Azure 通知中心

...板,但没有关于如何实际执行此操作的文档,也没有关于使用的类的文档。我正在尝试创建一个RegistrationDescription,它 查看详情

python中url标签使用详解(代码片段)

url标签:1.在模板中,我们经常要使用一些url,实现页面之间的跳转,比如某个a标签中需要定义href属性。当然如果通过硬编码的方式直接将这个url固定在里面也是可以的,但是这样的话,对于以后进行代码的维护,可能就比较... 查看详情

前端和后端怎么进行数据交互的

参考技术A过程如下:一、前端组织参数列表,采用get或post方式提交到指定的URL。二、URL就是后端程序,先接收参数,根据参数值确定执行的程序功能,执行后将执行结果输出到前台。三、Ajax将“二”中的返回值进行解析,根据... 查看详情

Azure 函数 - 我们何时需要使用 out 进行输出绑定?

】Azure函数-我们何时需要使用out进行输出绑定?【英文标题】:Azurefunctions-Whendoweneedtouseoutforoutputbindings?【发布时间】:2021-09-1011:05:52【问题描述】:在azure函数中,有多种方法可以进行输出绑定。对于Blob存储,我可以将其声明... 查看详情

tornado模板使用

...达式计算结果值的字符串到输出中。可以在Tornado模板中使用Python条件和循环语句,支持if、for、while和try。语法:Tornado在所有模板中默认提供了一些便利的函数。向Application类的构造函数传递一个名为static_path的参数来告诉Tornado... 查看详情

c++中函数模板和模板函数的区别

模板函数可以进行隐式的数据类型转换,中函数模板不会进行自动类型转换。一、函数模版和同名普通函数在同一个作用域中,会优先调用哪个函数,具体如下:1.函数模型在进行调用的时候会进行严格的类型匹配,而普通函数... 查看详情

使用 MSAL 对 Azure 静态 Web 应用中的函数进行授权

】使用MSAL对Azure静态Web应用中的函数进行授权【英文标题】:AuthorisationusingMSALforafunctioninAzureStaticWebApp【发布时间】:2021-03-0201:28:42【问题描述】:我正在尝试使用AzureAD和MSAL对使用Azure静态Web应用程序创建和公开的Azure函数进行... 查看详情

流分析作业的 Azure 函数绑定类型?

...个HttpTriggerRun方法,并将HttpRequest和TraceLog作为参数。我想使用其他绑定类型,例如POCO、\'string\'或\ 查看详情

django框架入门之视图和url模板(代码片段)

....视图接收请求后进行处理.并将处理的结果返回给请求者.使用视图时需要进行两步操作1.定义视图2.配置URLconf1.定义视图视图就是一个Python函数,被定义在应用的views.py中.视图的第一个参数是HttpRequest类型的对象reqeustÿ 查看详情

c++模板简介

  模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。  模板是一种对类型进行参数化的工具;  通常有两种形式... 查看详情

深入理解函数模板

...出现函数模板和普通函数,如果两者都能匹配,那么优先使用普通函数,若是函数模板 查看详情

使用 .Net(后端)+ Angular 应用程序在 URL 中隐藏带有敏感数据的参数的正确和更简洁的方法是啥?

】使用.Net(后端)+Angular应用程序在URL中隐藏带有敏感数据的参数的正确和更简洁的方法是啥?【英文标题】:WhatistheproperandcleanerwaytohideparameterswithsensitivedatainURLwith.Net(backend)+Angularapp?使用.Net(后端)+Angular应用程序在URL中隐藏... 查看详情