【问题标题】:Azure Api Management: How to count amount of requests without Subscription HeaderAzure Api 管理:如何计算没有订阅标头的请求数量
【发布时间】:2021-01-29 08:09:36
【问题描述】:

我的用户将 AAM API 端点用于需要 webhook 的第三方服务 - 我需要在用户报告中显示此端点的使用情况

第三方 API 不支持 headers,我无法将Ocp-Apim-Subscription-Key 用户订阅密钥传递给它,请求将被匿名调用。 据我了解,这不允许在用户报告中计算该请求。

但我可以使用令牌 URI 参数手动获取 subscription-id 和它的密钥,使用 send-request 策略。 如果我这样做,有没有办法将 Ocp-Apim-Subscription-Key 标头添加到(正在运行?)请求中,以便代表用户订阅执行它?

到目前为止,我只能考虑将所需的请求包装在另一个 AAM 请求中,该请求将使用 send-requestset-header 这样的策略

> POST /endpoint/telegram/public/token123
>> <send-request>GET /token123/keys/primary</send-request>
> POST /endpoint/telegram/token123 +H 'Ocp-Apim-Subscription-Key:key123'

【问题讨论】:

    标签: azure azure-api-management


    【解决方案1】:

    几天后我回到这个问题,现在感到非常尴尬。

    要代表用户执行请求,我可以在查询中使用 API 密钥而不是标头,实际上有单独的设置

    这解决了一切。

    【讨论】:

      【解决方案2】:

      您可以尝试与 Application Insight 集成以监控详细信息:How to integrate Azure API Management with Azure Application Insights

      此外,您还可以利用metrices to analyze the request pattern

      根据任何情况,您也可以创建警报以通知您:https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-use-azure-monitor

      【讨论】:

      • 感谢您的回答,但我有监控请求的工具,我可以使用它们 - 但用户不能。我试图实现的目标是向用户提供有关通过 uri 令牌而不是标头代表他发出的基本匿名请求的统计信息。
      • 如果有一组授权用户,那么你可以试试这个docs.microsoft.com/en-us/azure/api-management/… - 创建一个可以根据条件接收通知/监控日志详细信息的组。另外,我看到您正在使用 API 密钥为用户获取 API 调用中的详细信息。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      相关资源
      最近更新 更多