- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
通过使用可以轻松限制 api 的速率,
<rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
但我需要通过使用 apiKey 作为请求参数发送来限制 api 的速率。
最佳答案
首先,我从您的示例中假设您希望将请求本身的一个元素指定为 counter-key
而不是订阅 ID(如示例中所示)。如果这是正确的,那么...
The docs给出以下使用 policy expression 的示例指定计数器键
。
<policies>
<inbound>
<base />
<rate-limit-by-key calls="10"
renewal-period="60"
increment-condition="@(context.Response.StatusCode == 200)"
counter-key="@(context.Request.IpAddress)"
remaining-calls-variable-name="remainingCallsPerIP"/>
</inbound>
<outbound>
<base />
</outbound>
</policies>
假设您提到的 API key 将作为请求 header 传入,看起来您可以执行以下操作:
<rate-limit-by-key counter-key='@(context.Request.Headers.TryGetValue("YourApiKey"))' ... />
如果您想处理 ApiKey 根本不包含在请求中的情况,看起来您可以使用多行策略表达式:
<rate-limit-by-key
counter-key='@{
if (context.Request.Headers.TryGetValue("YourApiKey", out value))
{
if(value != null && value.Length > 0)
{
return value;
}
}
return null;
}'
calls='@{
if (context.Request.Headers.TryGetValue("YourApiKey", out value))
{
if(value != null && value.Length > 0)
{
return 500;
}
}
return 0;
}'
...
/>
注意:我尚未测试此处建议的任何策略,但我认为此处的最后一项将允许每个 {YourApiKey}
每个周期 500 个请求,并且如果未提供 Api key ,则不允许任何请求。
关于api - 如何通过使用自定义 apiKey(而不是订阅 ID)在 azure api 管理中使用速率限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51788739/
我与服务器所有人共享了我的项目(使用 ApyKey)。现在我想知道是否有可能生成一个新的 ApiKey 所以我知道,我是唯一可以访问我的 Firebase 项目的人? 最佳答案 如果您想要在服务器中使
Tastypie APIKey 认证是如何工作的?我知道文档中提到了一个信号: from django.contrib.auth.models import User from django.d
我想制作一个 java 应用程序。这存储在 gitHub 上(因此使用 git 进行版本控制)。现在这个程序在 Google 的例子中使用了 apikeys。我想在版本控制系统中 stash 此 Ap
这是获取用户帐户及其 Api key 的端点: https://dev.openclinica.com/apidoc/#api-User_Account-getAccountByUserName将以下
我需要获取 apiKey 到 firebase 应用程序。 在文档中,示例是: var config = { apiKey: '', authDomain: '',
我正在为 MagicCardMarket.eu 制作一个小型客户端 Web 应用程序。它只是 javascript 和 html。用户必须使用他的用户名和 apikey 登录,尽管我想知道在 sess
Firebase Web-App guide声明我应该将给定的 apiKey 放入我的 Html 中以初始化 Firebase: // TODO: Replace with your project'
Firebase Web-App guide声明我应该将给定的 apiKey 放入我的 Html 中以初始化 Firebase: // TODO: Replace with your project'
Firebase Web-App guide声明我应该将给定的 apiKey 放入我的 Html 中以初始化 Firebase: // TODO: Replace with your project'
我正在做一个 ASP.NET mvc5 项目。在其中一个页面中,我有一个按钮,我想用它来向跨域 api 发送帖子。 我尝试过使用 ajax 来完成这样的帖子: $.ajax({
Firebase Web-App guide声明我应该将给定的 apiKey 放在我的 Html 中以初始化 Firebase: // TODO: Replace with your project'
我想知道将我的 APIKEY 放入所有 REST 请求中而不必将其添加到请求参数中的最佳方法。 目前我只接到了几个电话,但我想看得更远。 @GET(".") fun getSearch(@Query(
我想创建一个灵活的 API Rest 服务器。我将允许客户端使用 HTTP 或 APIKEY 进行身份验证。 我的问题是:将 apikey 添加到 GET 请求的正确方法是什么?我的问题是 apike
我正在尝试使用 apikey 使用 sendgrid 在 node.js 中启动并运行一个简单的联系表单。目前还不清楚我哪里出错了。 我尝试了以下方法: 1. var options = {
在哪里可以找到我的 Firebase apiKey 和 authDomain? 我正在设置我的环境以连接到我的数据库。 export const environment = { productio
当我尝试通过 laravel 6 中的 sendgrid 发送邮件时出现此错误: Failed to authenticate on SMTP server with username "apikey
我已经设置了一个使用 Firestore 数据库的 Firebase 项目。我得到了以下代码片段,可以在我的 Javascript 代码中使用它: // Your web app's Fire
据此answer ,公开暴露您的 firestore api key 并不存在安全风险,但是,正如该问题的后续答案所指出的那样,人们可以使用它提出过多的请求并耗尽您的配额。 firestore 是否有
这里是 Youtube API 新手。我似乎无法弄清楚如何在运行不需要 oAuth 的查询时设置 APIKey。我也找不到任何例子。 我正在尝试调用 VideoCategories.List像这样使用
这是我的界面: public interface ApiInterface { @GET("solicitation/all") Call getAllNews(@Query("X-Authoriza
我是一名优秀的程序员,十分优秀!