Share via


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

Durch die Drosselung wird die Anzahl von Anforderungen für einen Dienst in einer Zeitspanne begrenzt, um eine übermäßige Nutzung 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, welche die APIs des Dienstes aufrufen.

Azure Data Manager for Agriculture 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 for Agriculture unterstützt zwei verschiedene Versionen:

  • Standard: Die Version, die wir im Allgemeinen empfehlen.
  • Basic: Geeignet für Anforderungen bei der Prototyperstellung.

Diese Grenzwerte funktionieren innerhalb von drei Zeitfenstern (pro Minute, pro fünf Minuten und pro Monat), um gegen einen plötzlichen Anstieg des Datenverkehrs abzusichern.

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

Klassifizierung von APIs

Azure Data Manager for Agriculture-APIs sind in drei Hauptkategorien unterteilt:

  • Schreibvorgänge: APIs, die REST-API-Methoden wie PATCH, POST und 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 PUT verwenden.

Wie in der folgenden Tabelle erläutert, werden die insgesamt verfügbaren Kontingenteinheiten 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, was Ihnen hilft, das verbleibende Kontingent für die weitere Verwendung nachzuverfolgen.

Vorgang Stückkosten für jede Anforderung
Schreiben 5
Lesen Sie 1 1
Langzeitauftrag: Lösungsinference 5
Langzeitauftrag: Farmvorgang 5
Langzeitauftrag: Bildrasterung 2
Langzeitauftrag: Kaskadierende Löschung einer Entität 2
Langzeitauftrag: Wetteraufnahme 1
Langzeitauftrag: Satellitenaufnahme 1

1Für jeden in der Antwort zurückgegebenen Artikel wird eine zusätzliche Einheit berücksichtigt, wenn Sie mehr als ein Element abrufen.

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 Pro Fünf Minuten 100.000
Schreiben/Lesen Pro Monat 5,000,000
Langzeitauftrag Pro Fünf Minuten 1.000
Langzeitauftrag 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 Pro Fünf Minuten 100.000
Schreiben/Lesen Pro Monat 25.000.000 1
Langzeitauftrag Pro Fünf Minuten 1.000
Langzeitauftrag 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 von Sekunden angibt, die Ihre Anwendung warten muss (oder im Ruhezustand verbleibt), bevor die nächste Anforderung gesendet wird.

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 dann erfolgreich Anforderungen für Lesevorgänge innerhalb desselben Zeitfensters ausführen?

Die Kontingentgrenzwerte werden für die aufgelisteten Vorgangskategorien freigegeben. Die Verwendung des gesamten Kontingents für Schreibvorgänge bedeutet 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 nach jedem Zeitfenster zurücksetzen) / 5 (Einheitskosten für jede Anforderung) = 5.000 Schreibvorgangs-APIs innerhalb eines einminütigen Zeitfensters machen. 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 bei der Basic-Version 5.000.000 (Einheiten werden nach jedem Zeitfenster zurückgesetzt) / 1 (Einheitskosten für jede Anforderung) = 5.000.000 Lesevorgangs-APIs 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