API-Einschränkungsleitfaden für Azure Data Manager for Agriculture

Durch Drosselung wird die Anzahl der Anforderungen an einen Dienst in einem Zeitraum begrenzt, um die Übernutzung von Ressourcen zu verhindern. Die Einschränkung der REST-API in Azure Data Manager for Agriculture ermöglicht eine konsistentere Leistung innerhalb eines Zeitraums für Kunden, die die APIs des Diensts aufrufen.

Azure Data Manager für Landwirtschaft kann eine hohe Anzahl von Anforderungen verarbeiten. Wenn eine überwältigende Anzahl von Anforderungen von einigen Kunden auftritt, hilft die Drosselung dabei, optimale Leistung und Zuverlässigkeit für alle Kunden aufrechtzuerhalten.

Einschränkungsgrenzwerte sind abhängig von der ausgewählten Version und den Funktionen des Produkts, das ein Kunde verwendet. Azure Data Manager für Landwirtschaft unterstützt zwei verschiedene Versionen:

  • Standard: Die Version, die wir im Allgemeinen empfehlen.
  • Basis: Geeignet für die Prototyping-Anforderungen.

Diese Grenzwerte funktionieren innerhalb von drei Zeitfenstern (pro 1 Minute, pro fünf Minuten und pro Monat), um plötzliche Anstiege des Datenverkehrs zu verhindern.

In diesem Artikel erfahren Sie, wie Sie die Anzahl der Anforderungen nachverfolgen, die verbleiben, bevor Sie das Limit erreichen, und wie Sie reagieren, wenn Sie den Grenzwert erreichen. Drosselungsgrenzen gelten für diese APIs.

Klassifizierung von APIs

Azure Data Manager für Landwirtschaft-APIs sind in drei Hauptkategorien unterteilt:

  • Schreibvorgänge: APIs, die REST-API-Methoden wie PATCH, POSTund DELETE zum Ändern von Daten verwenden.
  • Lesevorgänge: APIs, die den REST-API-Methodentyp GET zum Abrufen von Daten verwenden, einschließlich Such-APIs des Methodentyps POST.
  • Lange ausgeführte Auftragsvorgänge: Lange ausgeführte asynchrone Auftrags-APIs, die den REST-API-Methodentyp PUTverwenden.

Die verfügbaren Kontingenteinheiten insgesamt, wie in der folgenden Tabelle erläutert, werden von diesen Kategorien gemeinsam genutzt. Beispielsweise bedeutet die Verwendung des gesamten Kontingents für Schreibvorgänge kein verbleibendes Kontingent für andere Vorgänge. Jeder Vorgang verbraucht eine bestimmte Kontingenteinheit, mit der Sie das verbleibende Kontingent für die weitere Verwendung nachverfolgen können.

Vorgang Stückkosten für jede Anforderung
Schreiben 5
Lesen Sie 1 1
Lang andauernder Auftrag: Lösungsinferenz 5
Langzeitauftrag: Farmvorgang 5
Lang andauernder Prozess: Bildrasterung 2
Langfristiger Auftrag: kaskadierende Löschung einer Entität 2
Langzeitauftrag: Wetteraufnahme 1
Langzeitauftrag: Satellitenaufnahme 1

1Für jedes in der Antwort zurückgegebene Element werden zusätzliche Einheitskosten berücksichtigt, wenn Sie mehr als ein Element abfragen.

API-Grenzwerte für die Basic-Version

In der folgenden Tabelle sind die verfügbaren Einheiten pro Kategorie für die Standardversion aufgeführt:

Vorgang Zeitfenster für Drosselung Einheiten werden nach jedem Zeitfenster zurückgesetzt
Schreiben/Lesen Pro Minute 25,000
Schreiben/Lesen Alle fünf Minuten 100,000
Schreiben/Lesen Pro Monat 5,000,000
Lang laufender Auftrag Alle fünf Minuten 1000
Lang laufender Auftrag Pro Monat 100,000

API-Grenzwerte für die Standardversion

Die Standardversion bietet eine fünffache Erhöhung des API-Kontingents pro Monat im Vergleich zur Basic-Version. Alle anderen Kontingentlimits bleiben unverändert.

In der folgenden Tabelle sind die verfügbaren Einheiten pro Kategorie für die Standardversion aufgeführt:

Vorgang Zeitfenster für Drosselung Einheiten werden nach jedem Zeitfenster zurückgesetzt
Schreiben/Lesen Pro Minute 25,000
Schreiben/Lesen Alle fünf Minuten 100,000
Schreiben/Lesen Pro Monat 25.000.000 1
Langlaufende Aufgabe Alle fünf Minuten 1000
Lang laufender Auftrag Pro Monat 500.000 1

1Dieser Grenzwert beträgt fünf Mal das Limit der Basic-Version.

Fehlercode

Wenn Sie den Grenzwert erreichen, erhalten Sie den HTTP-Statuscode 429 Zu viele Anforderungen. Die Antwort enthält einen Retry-After-Wert, der die Anzahl der Sekunden angibt, die Ihre Anwendung warten soll oder eine Pause einlegt, bevor sie die nächste Anforderung sendet.

Wenn Sie eine Anforderung senden, bevor der Retry-Wert verstrichen ist, wird Ihre Anforderung nicht verarbeitet, und es wird ein neuer Retry-Wert zurückgegeben. Nach Ablauf der angegebenen Zeit können Sie erneut Anforderungen an Azure Data Manager for Agriculture senden. Wenn Sie versuchen, eine TCP-Verbindung herzustellen oder andere Benutzerauthentifizierungsmethoden zu verwenden, umgehen Sie diese Grenzwerte nicht, da sie für jeden Mandanten spezifisch sind.

Häufig gestellte Fragen

Wenn ich das zugewiesene API-Kontingent vollständig für Schreibvorgänge innerhalb eines Minuten-Zeitfensters auslaste, kann ich erfolgreich Anforderungen für Lesevorgänge innerhalb desselben Zeitfensters ausführen?

Die Kontingentgrenzwerte werden unter die aufgelisteten Vorgangskategorien geteilt. Die Verwendung des gesamten Kontingents für Schreibvorgänge impliziert kein verbleibendes Kontingent für andere Vorgänge. In diesem Artikel werden die für jeden Vorgang verbrauchten spezifischen Kontingenteinheiten beschrieben.

Wie kann ich die Gesamtanzahl der erfolgreichen Anforderungen berechnen, die für ein bestimmtes Zeitfenster zulässig sind?

Die Gesamtzahl der zulässigen erfolgreichen API-Anforderungen hängt von der bereitgestellten Version und dem Zeitfenster ab, in dem Sie Anforderungen stellen.

Beispielsweise können Sie mit der Standardversion 25.000 (Einheiten werden nach jedem Zeitfenster zurückgesetzt) / 5 (Einheitskosten pro Anfrage) = 5.000 Schreib-APIs innerhalb eines einminütigen Zeitfensters ausführen. Oder Sie können eine Kombination aus 4.000 Schreibvorgängen und 5.000 Lesevorgängen verwenden, was zu 4.000 * 5 + 5.000 * 1 = 25.000 Gesamtverbrauchseinheiten führt.

Ebenso können Sie für die Basic-Version 5.000.000 (Einheiten werden nach jedem Zeitfenster zurückgesetzt) / 1 (Einheitskosten für jede Anforderung) = 5.000.000 API-Lesevorgänge innerhalb eines einmonatigen Zeitfensters durchführen.

Wie viele Sensorereignisse kann ein Kunde maximal aufnehmen?

Das System ermöglicht maximal 100.000 Ereignisaufnahmen pro Stunde. Obwohl neue Ereignisse kontinuierlich akzeptiert werden, kann es zu einer Verzögerung bei der Verarbeitung kommen. Die Verzögerung kann bedeuten, dass diese Ereignisse nicht sofort für Echtzeitausgangsszenarien zusammen mit der Aufnahme verfügbar sind.

Nächste Schritte