在 Azure APIM 中配置动态 WebSocket 终结点

configuring a dynamic websocket endpoint in azure apim

提问人:Sindhu1990 提问时间:11/7/2023 最后编辑:Sindhu1990 更新时间:11/8/2023 访问量:72

问:

我正在尝试配置azure apim websocket终结点。

以下是我尝试的步骤

  1. 创建了 WebSocket 端点
  2. 配置设置如下websocket url : wss://app.square.ai:5001/CustomerActionHub/51 Url suffix : exam/CustomerActionHub/51

当我将其创建为静态时,上述步骤工作正常。

现在,我必须以这样一种方式进行配置,使上述值 51 动态变化。我该如何实现

以下是我尝试的设置,但它的投掷错误

steps tried in apim

Azure WebSocket 策略 APIM

评论

0赞 Ikhtesam Afrin 11/7/2023
您可以在发送请求时添加它并传递值wss://app.square.ai:5001/CustomerActionHub/{}
0赞 Sindhu1990 11/7/2023
我试过它给出以下错误一个或多个字段包含不正确的值: Web API URL 后缀的值无效
0赞 Ikhtesam Afrin 11/7/2023
你能分享一下截图
0赞 Sindhu1990 11/7/2023
@IkhtesamAfrin - 完成

答:

0赞 Ikhtesam Afrin 11/8/2023 #1

现在,我必须以这样一种方式进行配置,使上述值 51 动态变化。我该如何实现

您可以使用以下策略在发送请求时接受该值作为查询参数。

<inbound>
    <base  />
    <set-backend-service  base-url="@{ return "wss://app.square.ai:5001/CustomerActionHub/"+context.Request.Url.Query.GetValueOrDefault("CustomerId");}"  />
</inbound>

您也可以使用,但在 WebSocket API 的情况下,它不会给出预期的结果。AFAIK,这可能是因为 Azure APIM 中的 WebSocket API 目前根据此 MS 文档处于公共预览版状态。rewrite-uri

就我而言,我使用上述策略与 Azure PubSub 服务建立连接,并在查询参数中发送中心名称,如下所示。

enter image description here

enter image description here

作为解决方法,您可以使用上述给定的策略,同时您也可以与产品团队联系以获取更多详细信息。

评论

0赞 Sindhu1990 11/10/2023
那么如何在设置页面中给出 websocket url 和 api url 后缀呢?请指导
0赞 Ikhtesam Afrin 11/10/2023
@Sindhu1990 添加 API 后,只需添加此策略即可
0赞 Ikhtesam Afrin 11/17/2023
@Sindhu1990 希望这对你有用
0赞 Sindhu1990 11/17/2023
是的,谢谢,很抱歉迟到的确认