Powtarzalność żądań

Dotyczy: ACS Email (interfejs API wysyłania Email), pokoje ACS

Interfejsy API POST nie są idempotentne według definicji. Aby zachowywać się w sposób idempotentny, obsługujemy powtarzalne żądania zgodnie ze specyfikacją OASIS Repeatable Requests w wersji 1.0 . Aby to umożliwić, klienci muszą określić dwa obowiązkowe nagłówki w żądaniu POST:

  • Powtarzalność — identyfikator żądania
  • Powtarzalność — pierwsze wysłanie

Nagłówek Repeatability-Request-Id

Wartość tego nagłówka identyfikuje żądanie unikatowo za pomocą identyfikatora GUID.

Nagłówek Repeatability-First-Sent

Wartość tego nagłówka reprezentuje sygnaturę czasową pierwszego wysłania oryginalnego żądania. Wartość powinna być określona w formacie UTC w formacie IMF fixdate. Śledzimy tylko żądania o określony czas trwania (obecnie śledzony czas trwania wynosi 5 minut). Wszystkie żądania z wartością po raz pierwszy wysłane przed tym, które są uważane za potencjalnie niebezpieczne do ponownego wykonania i zwracają błąd 412 (warunek wstępny nie powiodło się).

Powtarzalność w zestawach SDK usługi ACS

Nagłówki powtarzalności są generowane automatycznie, dodawane i wysyłane do interfejsu API podczas korzystania z dowolnej z naszych bibliotek zestawu ACS SDK.

Powtarzalne kody odpowiedzi na żądania

Szczegółowe informacje o różnych kodach stanu dla powtarzalnych żądań znajdują się w poniższej tabeli.

Repeatability-Request-ID Powtarzalność — pierwsze wysłanie Wynik powtarzalności Kod stanu odpowiedzi
Prawidłowy identyfikator GUID Nieprawidłowy format Odrzucone 400
Nieprawidłowy format Prawidłowa data Odrzucone 400
Nieprawidłowy format Nieprawidłowy format Odrzucone 400
Prawidłowe Czas śledzenia zewnętrznego Odrzucone 412 (Warunek wstępny nie powiódł się)
Prawidłowe nowe/nieokreślone żądanie W ramach śledzenia czasu trwania Zaakceptowano Kod stanu z normalnego wykonywania
Prawidłowe powtarzające się żądanie W okresie śledzenia, ale nie pasuje do poprzedniego żądania Odrzucone 400
Prawidłowe powtarzające się żądanie W czasie śledzenia dopasuj poprzednie żądanie Zaakceptowano W interfejsie API wysyłania Email:
- Jeśli oryginalne żądanie jest nadal w toku: 409
— Jeśli kod stanu oryginalnego żądania to 2xx lub 4xx, zwróć ten kod stanu.
— Jeśli kod stanu oryginalnego żądania to 5xx, kod stanu powrotu z ponownego wykonania żądania.

Rozwiązywanie problemów

Jeśli wysłano żądanie z pierwszym wysłanym znacznikiem czasu, który mieści się w ciągu ostatnich 5 minut, ale nadal występuje błąd 412 (Niepowodzenie warunku wstępnego) z komunikatem "Powtarzalność po raz pierwszy wysłana nagłówek nie był w 5 minut.", upewnij się, że zegar komputera klienckiego jest zsynchronizowany z serwerem czasu.

Zobacz też

Aby uzyskać dodatkowe informacje na temat Azure Communication Services, możesz również przejrzeć inne źródła dokumentacji: