Uzyskiwanie danych telemetrycznych komunikatów powiadomień
Ten interfejs API udostępnia dodatkowe dane telemetryczne w gotowych stanach wychodzących powiadomień wypychanych. Jest ona przeznaczona do monitorowania powiadomień wypychanych wysyłanych z centrum. Identyfikator powiadomienia, którego używa ten interfejs API, można pobrać z nagłówka LOKALIZACJI HTTP uwzględnionego w odpowiedzi interfejsu API REST używanego do wysyłania powiadomienia.
Ta funkcja telemetrii poszczególnych wiadomości jest również dostępna dla zaplanowanych powiadomień.
Ten interfejs API jest dostępny tylko dla centrów powiadomień w warstwie Standardowa.
Żądanie
Metoda | Identyfikator URI żądania | Wersja PROTOKOŁU HTTP |
---|---|---|
GET | https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/{notification message ID}?api-version=2016-07 |
HTTP/1.1 |
Nagłówki żądań
W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań.
Nagłówek żądania | Opis |
---|---|
Autoryzacja | Token SAS wygenerowany zgodnie z określoną w artykule Uwierzytelnianie za pomocą sygnatury dostępu współdzielonego za pomocą usługi Service Bus. |
x-ms-version | 2016-07 (Obsługiwane przez 2015-01 lub nowszy) |
Treść żądania
Brak.
Reakcja
Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi. Treść odpowiedzi jest zwracana po pomyślnym zakończeniu.
Kody odpowiedzi
Kod | Opis |
---|---|
200 | Telemetria komunikatu została pomyślnie pobrana. Dane telemetryczne mogą być częściową odpowiedzią, w zależności od liczby urządzeń objętych wysłanym komunikatem powiadomienia oraz tego, jak daleko komunikat postępuje w naszym systemie w celu przetworzenia. |
400 | Nie można pobrać telemetrii komunikatu, ponieważ żądanie zostało źle sformułowane. |
401 | Niepowodzenie autoryzacji. Klucz dostępu był niepoprawny. |
403 | Żądanie zostało odrzucone, ponieważ ta funkcja nie jest włączona dla jednostki SKU. Uaktualnij do warstwy Standardowa. |
404 | Telemetria nie istnieje. Ten błąd może wystąpić, gdy identyfikator powiadomienia jest nieprawidłowy. |
Aby uzyskać informacje o kodach stanu, zobacz Status and Error Codes (Kody stanu i błędów).
Nagłówki odpowiedzi
Nagłówek odpowiedzi | Opis |
---|---|
Typ zawartości | application/xml; charset=utf-8 |
Treść odpowiedzi
Treść odpowiedzi to dokument NotificationDetails składający się z następujących elementów:
Element | Opis |
---|---|
Identyfikator powiadomienia | Identyfikator przekazany do żądania, które identyfikuje komunikat powiadomienia. |
Lokalizacja | Identyfikator URI komunikatu |
Stan | Wskazuje postęp komunikatu. Stan może być jedną z następujących wartości:
|
EnqueueTime | Wskazuje czas zaakceptowania wiadomości. |
StartTime | Wskazuje, kiedy usługa centrum powiadomień rozpoczęła pracę nad powiadomieniem. |
EndTime | Wskazuje, kiedy usługa centrum powiadomień zakończyła pracę nad powiadomieniem. |
Powiadomienie— osoba | Treść oryginalnej wiadomości z powiadomieniem. |
TargetPlatforms | Wskazuje platformy docelowe powiadomień. Może zawierać następujące wartości jako ciąg rozdzielany przecinkami:
|
ApnsOutcomeCounts | Ten element jest obecny w przypadku powiadomień wysyłanych do usługi Apple Push Notification Service. Zawiera kolekcję wystąpień wyniku. |
MpnsOutcomeCounts | Ten element jest obecny w przypadku powiadomień wysyłanych do usługi powiadomień wypychanych firmy Microsoft. Zawiera kolekcję wystąpień wyniku. |
WnsOutcomeCounts | Ten element jest obecny dla powiadomień wysyłanych do usługi powiadomień systemu Windows. Zawiera kolekcję wystąpień wyniku. |
GcmOutcomeCounts | Ten element jest obecny w przypadku powiadomień wysyłanych do usługi Google Cloud Messaging. Zawiera kolekcję wystąpień wyniku. |
AdmOutcomeCounts | Ten element jest obecny dla powiadomień wysyłanych do usługi Amazon Device Messaging. Zawiera kolekcję wystąpień wyniku. |
Wynik | Kolekcja tych wystąpień składa się z powyższych liczb dla każdej usługi powiadomień platformy. Każdy wynik może być jednym z nazwanych liczb wymienionych w sekcji Wyniki . |
PnsErrorDetailsUri | Wymaga Api-Version 2016-07 i nowszych używanych dla tego interfejsu API oraz interfejsu API wysyłającego komunikat powiadomienia. Szczegóły błędu usługi PNS są w pełni dostępne tylko po zakończeniu skojarzonej operacji wysyłania. Pobiera identyfikator URI do obiektu blob zawierającego błędy zwracane przez każdy zaangażowany system pnS. Jeśli nie zgłoszono żadnych błędów przez usługę PNS, ten element członkowski nie jest uwzględniony w odpowiedzi. Aby odczytać obiekt blob, możesz użyć interfejsu API usługi Azure Storage. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z usługą Azure Blob Storage przy użyciu platformy .NET lub interfejsu API REST usług Azure Storage — dokumentacja możliwych błędów pnS:
|
Wyniki
Nazwa | Opis liczby |
---|---|
PorzuconenotificationMessages | Liczba żądań wysyłania do usługi wypychania, która została porzucona z powodu przekroczenia limitu czasu. |
BadChannel | Komunikacja z usługą wypychania nie powiodła się, ponieważ kanał był nieprawidłowy. |
ChannelDisconnected | Odłączona usługa wypychana. |
ChannelThrottled | Odmowa dostępu do usługi wypychania z powodu ograniczania przepustowości. |
Spadła | Usługa wypychania wskazuje, że komunikat został porzucony. |
Wygasłychannel | Komunikacja z usługą wypychania nie powiodła się, ponieważ kanał wygasł. |
InvalidCredentials | Poświadczenia używane do uwierzytelniania w usłudze wypychania nie powiodły się. |
InvalidNotificationSize | Żądanie wypychania jest zbyt duże. |
NoTargets | Liczba żądań, które nie znalazły nic do wysłania. |
PnsInterfaceError | Komunikacja kontraktu usługi wypychania nie powiodła się. |
PnsServerError | Usługa wypychania wskazała, że po stronie wystąpił błąd. |
PnsUnavailable | Usługa wypychania jest niedostępna. |
PnsUnreachable | Usługa wypychania nie odpowiada. |
Pominięto | Liczba zduplikowanych rejestracji (znaleziono ten sam uchwyt pnS, inny identyfikator rejestracji). |
Powodzenie | Pomyślnie wysłano żądanie do pewnej liczby urządzeń. |
Ograniczona | Odmowa dostępu do usługi wypychania z powodu ograniczania przepustowości. |
UnknownError | Wystąpił nieznany błąd. |
Niewłaściwy token | Uchwyt pnS nie został rozpoznany przez usługę PNS jako prawidłowy uchwyt. |
Oto przykładowa telemetria wysyłania powiadomienia do usługi WNS:
<NotificationDetails xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<NotificationId>{Your message id}</NotificationId>
<Location>sb://{Your namespace}.servicebus.windows.net/{your hub name}/messages/{your message id}?api-version=2015-04</Location>
<State>Completed</State>
<EnqueueTime>2015-11-02T21:19:43Z</EnqueueTime>
<StartTime>2015-11-02T21:19:43.9926996Z</StartTime>
<EndTime>2015-11-02T21:19:43.9926996Z</EndTime>
<NotificationBody><?xml version="1.0" encoding="utf-16"?><toast><visual><binding template="ToastText01"><text id="1">Hello from a .NET App!</text></binding></visual></toast></NotificationBody>
<TargetPlatforms>windows</TargetPlatforms>
<WnsOutcomeCounts>
<Outcome>
<Name>Success</Name>
<Count>3</Count>
</Outcome>
<Outcome>
<Name>WrongToken</Name>
<Count>1</Count>
</Outcome>
</WnsOutcomeCounts>
<PnsErrorDetailsUri>{Blob uri}</PnsErrorDetailsUri>
</NotificationDetails>
Zobacz też
Wysyłanie powiadomienia o szablonie
Wysyłanie powiadomienia natywnego usługi APNS
Wysyłanie powiadomienia natywnego usługi GCM
Wysyłanie powiadomienia natywnego usługi MPNS
Wysyłanie powiadomienia natywnego usługi WNS