Udostępnij za pośrednictwem


Wskazówki dotyczące ograniczania przepływności interfejsu API dla usługi Azure Data Manager for Agriculture

Ograniczanie przepustowości ogranicza liczbę żądań do usługi w określonym przedziale czasu, aby zapobiec nadmiernemu użyciu zasobów. Ograniczanie przepływności interfejsu API REST w usłudze Azure Data Manager for Agriculture umożliwia bardziej spójną wydajność w przedziale czasu dla klientów, którzy nazywają interfejsy API usługi.

Usługa Azure Data Manager for Agriculture może obsługiwać dużą liczbę żądań. Jeśli od kilku klientów występuje przytłaczająca liczba żądań, ograniczanie przepustowości pomaga utrzymać optymalną wydajność i niezawodność dla wszystkich klientów.

Limity ograniczania przepustowości zależą od wybranej wersji i możliwości produktu używanego przez klienta. Usługa Azure Data Manager for Agriculture obsługuje dwie odrębne wersje:

  • Standardowa: ogólnie zalecana wersja.
  • Podstawowe: Odpowiednie do wymagań dotyczących tworzenia prototypów.

Te limity działają w ramach trzech okien czasowych (na jedną minutę, na pięć minut i miesięcznie), aby chronić przed nagłymi wzrostami ruchu.

W tym artykule pokazano, jak śledzić liczbę żądań, które pozostają przed osiągnięciem limitu, oraz jak reagować po osiągnięciu limitu. Limity ograniczania mają zastosowanie do tych interfejsów API.

Klasyfikacja interfejsów API

Interfejsy API usługi Azure Data Manager for Agriculture należą do trzech głównych kategorii:

  • Operacje zapisu: interfejsy API korzystające z metod interfejsu API REST, takich jak PATCH, POSTi DELETE do modyfikowania danych.
  • Operacje odczytu: interfejsy API używające typu GET metody interfejsu API REST do pobierania danych, w tym interfejsy API wyszukiwania typu POSTmetody .
  • Długotrwałe operacje zadań: długotrwałe asynchroniczne interfejsy API zadań, które używają typu PUTmetody interfejsu API REST.

Ogólnie dostępne jednostki przydziału, jak wyjaśniono w poniższej tabeli, są współużytkowane między tymi kategoriami. Na przykład użycie całego limitu przydziału w operacjach zapisu oznacza brak pozostałego limitu przydziału dla innych operacji. Każda operacja zużywa określoną jednostkę przydziału, która ułatwia śledzenie pozostałego limitu przydziału do dalszego użycia.

Operacja Koszt jednostkowy dla każdego żądania
Write 5
Przeczytaj 1 1
Długotrwałe zadanie: wnioskowanie rozwiązania 5
Długotrwałe zadanie: operacja farmy 5
Długotrwałe zadanie: rasteryzacja obrazu 2
Długotrwałe zadanie: kaskadowe usuwanie jednostki 2
Długotrwałe zadanie: pozyskiwanie pogody 1
Długotrwałe zadanie: pozyskiwanie satelitarne 1

1Dodatkowy koszt jednostkowy jest uwzględniany dla każdego elementu zwróconego w odpowiedzi podczas pobierania więcej niż jednego elementu.

Limity interfejsu API dla wersji Podstawowa

W poniższej tabeli wymieniono łączną liczbę dostępnych jednostek na kategorię dla wersji Podstawowa:

Operacja Przedział czasu ograniczania przepustowości Jednostki resetowane po każdym przedziale czasu
Zapis/odczyt Na minutę 25,000
Zapis/odczyt Na pięć minut 100 000
Zapis/odczyt Na jeden miesiąc 5,000,000
Długotrwałe zadanie Na pięć minut 1000
Długotrwałe zadanie Na jeden miesiąc 100 000

Limity interfejsu API dla wersji Standardowej

Wersja Standardowa oferuje pięciokrotny wzrost limitu przydziału interfejsu API miesięcznie w porównaniu z wersją Podstawową. Wszystkie pozostałe limity przydziału pozostają niezmienione.

W poniższej tabeli wymieniono łączną liczbę dostępnych jednostek na kategorię dla wersji Standardowej:

Operacja Przedział czasu ograniczania przepustowości Jednostki resetowane po każdym przedziale czasu
Zapis/odczyt Na minutę 25,000
Zapis/odczyt Na pięć minut 100 000
Zapis/odczyt Na jeden miesiąc 25 000 000 1
Długotrwałe zadanie Na pięć minut 1000
Długotrwałe zadanie Na jeden miesiąc 500 000 1

1Ten limit wynosi pięć razy więcej niż limit wersji Podstawowej.

Kod błędu

Po osiągnięciu limitu otrzymasz kod stanu HTTP 429 Zbyt wiele żądań. Odpowiedź zawiera wartość Retry-After , która określa liczbę sekund oczekiwania (lub uśpienia) aplikacji przed wysłaniem następnego żądania.

Jeśli wyślesz żądanie przed upływem wartości ponawiania próby, żądanie nie zostanie przetworzone i zostanie zwrócona nowa wartość ponawiania. Po upływie określonego czasu możesz ponownie wysyłać żądania do usługi Azure Data Manager for Agriculture. Próba nawiązania połączenia TCP lub użycie różnych metod uwierzytelniania użytkownika nie pomija tych limitów, ponieważ są one specyficzne dla każdej dzierżawy.

Często zadawane pytania

Czy w przypadku całkowitego wyczerpania przydzielonego limitu przydziału interfejsu API dla operacji zapisu w przedziale czasu na minutę mogę pomyślnie wysyłać żądania dotyczące operacji odczytu w tym samym przedziale czasu?

Limity przydziału są współużytkowane przez wymienione kategorie operacji. Użycie całego limitu przydziału dla operacji zapisu nie oznacza pozostałego limitu przydziału dla innych operacji. W tym artykule szczegółowo określoną liczbę jednostek przydziału użytych dla każdej operacji.

Jak mogę obliczyć łączną liczbę żądań zakończonych powodzeniem dla określonego przedziału czasu?

Łączna dozwolona liczba pomyślnych żądań interfejsu API zależy od aprowizowanej wersji oraz przedziału czasu, w którym wysyłasz żądania.

Na przykład w wersji Standardowa można ustawić 25 000 (jednostki resetowane po każdym przedziale czasu) / 5 (koszt jednostkowy dla każdego żądania) = 5000 interfejsów API operacji zapisu w ciągu jednej minuty. Możesz też użyć kombinacji 4000 operacji zapisu i 5000 operacji odczytu, co powoduje 4000 * 5 + 5000 * 5000 * 1 = 25 000 całkowitej liczby jednostek zużycia.

Podobnie w przypadku wersji Podstawowa można wykonać 5000 000 (jednostki resetowane po każdym przedziale czasu) / 1 (koszt jednostkowy dla każdego żądania) = 5 000 000 interfejsów API operacji odczytu w przedziale czasu jednego miesiąca.

Ile zdarzeń czujnika może pozyskać klient jako maksymalną liczbę?

System zezwala na maksymalnie 100 000 pozyskiwania zdarzeń na godzinę. Mimo że nowe zdarzenia są stale akceptowane, może wystąpić opóźnienie przetwarzania. Opóźnienie może oznaczać, że te zdarzenia nie są natychmiast dostępne dla scenariuszy ruchu wychodzącego w czasie rzeczywistym wraz z pozyskiwaniem.

Następne kroki