通过 APIM 使用 Azure 功能的 REST URL

Posted

技术标签:

【中文标题】通过 APIM 使用 Azure 功能的 REST URL【英文标题】:REST URL with Azure function via APIM 【发布时间】:2021-06-01 09:22:26 【问题描述】:

我有一个具有 2 个功能的用户函数应用程序:

创建用户。 POST + Route = "用户" 获取用户。 GET + Route = "用户"

我想通过 API 管理公开这些功能。假设API管理的域是https://my-apim.azure-api.net

如何使用以下 URL 公开这些函数:

CreateUser = POST https://my-apim.azure-api.net/v1/users GetUsers = 获取https://my-apim.azure-api.net/v1/users

APIM 需要 API URL 后缀来确定正确的 API。所以生成的 URL 是(以 userfunction 作为 API URL 后缀):

CreateUser = POST https://my-apim.azure-api.net/userfunction/v1/users GetUsers = 获取https://my-apim.azure-api.net/userfunction/v1/users

我可以将 API URL Suffix 留空以实现预期的 URL,但是当我将来需要向 APIM 添加更多 API 时,这将是一个问题

【问题讨论】:

【参考方案1】:

通过以下步骤解决:

    在 APIM 中添加 URL 后缀:api/users 在 APIM 中,选择 API 转到“设计”>“前端”部分并删除那里的 URL 路径,使其仅包含 / 向 API 添加 rewrite-uri 策略,以便在将请求转发到后端服务时附加 /users

生成的 URL 将是 https://apim-domain/api/users

【讨论】:

以上是关于通过 APIM 使用 Azure 功能的 REST URL的主要内容,如果未能解决你的问题,请参考以下文章

使用 Azure 应用网关 + APIM 进行 SSL 固定

使用 Azure APIM 策略处理表单数据

为用户创建订阅的 Azure API 管理 REST 调用(缺失)

Azure APIM 策略

我们可以在不使用 SAS 令牌的情况下通过 c# 代码调用 Azure API 管理吗

如何使用 Azure APIM 创建 OCSP 请求并验证响应?