Freigeben über


Plugin zur Ratenbegrenzung

Simuliert Verhalten der Rate-Limit-Funktion.

Screenshot einer Eingabeaufforderung mit Dev Proxy-Simulationsrate für GitHub-APIs.

Definition der Plug-In-Instanz

{
  "name": "RateLimitingPlugin",
  "enabled": true,
  "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
  "configSection": "rateLimiting"
}

Konfigurationsbeispiel

{
  "rateLimiting": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/ratelimitingplugin.schema.json",
    "costPerRequest": 2,
    "rateLimit": 120
  }
}

Konfigurationseigenschaften

Eigentum Beschreibung Vorgabe
headerLimit Name des Antwortheaders, der den Grenzwert für die Ratebegrenzung kommuniziert RateLimit-Limit
headerRemaining Name des Antwortheaders, der die verbleibende Anzahl von Ressourcen vor dem Zurücksetzen kommuniziert RateLimit-Remaining
headerReset Name des Antwortheaders, der die verbleibende Zeit bis zum Zurücksetzen kommuniziert RateLimit-Reset
headerRetryAfter Name des Antwortheaders, der den Wiederholungs-nach-Zeitraum kommuniziert Retry-After
costPerRequest Wie viele Ressourcen kosten eine Anforderung 2
resetTimeWindowSeconds Wie lange in Sekunden bis zum nächsten Zurücksetzen 60
warningThresholdPercent Der Prozentsatz der Verwendung, die überschritten wird, beginnt mit der Rückgaberate, die Antwortheader begrenzt. 80
rateLimit Anzahl der Ressourcen für ein Zeitfenster 120
whenLimitExceeded Das Verhalten, das das Plug-In verwenden soll, wenn der Grenzwert überschritten wird. Verwenden Sie Throttle oder Custom. Throttle
resetFormat Das Format, das verwendet wird, um zu bestimmen, wann der Satzgrenzwert zurückgesetzt wird. Verwenden Sie SecondsLeft oder UtcEpochSeconds. SecondsLeft
customResponseFile Datei mit einer benutzerdefinierten Fehlerantwort, die beim Überschreiten des Grenzwerts verwendet wird. rate-limit-response.json

Befehlszeilenoptionen

Nichts

Nächster Schritt