Condividi tramite


Ottenere commenti e suggerimenti di Platform Notification Services (PNS)

Recupera un URL del contenitore di archiviazione di Azure. Il contenitore contiene dati di feedback per l'hub di notifica. Il chiamante può quindi usare l'API REST di Servizi di archiviazione di Azure per recuperare il contenuto del contenitore.

Richiesta

Metodo URI richiesta Versione HTTP
GET https://{namespace}.servicebus.windows.net/{Notification Hub}/feedbackcontainer?api-version=2015-01 HTTP/1.1

Intestazioni della richiesta

Nella seguente tabella vengono descritte le intestazioni di richiesta obbligatorie e facoltative.

Intestazione della richiesta Descrizione
Content-Type application/xml;type=entry;charset=utf-8
Autorizzazione Token di firma di accesso condiviso generato come specificato in Autenticazione firma di accesso condiviso con il bus di servizio.
x-ms-version 2015-01

Testo della richiesta

Nessuno.

Risposta

Nella risposta sono inclusi un codice di stato HTTP e un set di intestazioni per la risposta.

Codici di risposta

Codice Descrizione
200 Recupera l'URL del contenitore.
401 Errore di autorizzazione. La chiave di accesso non è corretta.
403 Richiesta rifiutata perché la funzionalità non è abilitata per lo SKU. Eseguire l'aggiornamento a Standard.

Per informazioni sui codici di stato, vedere Codici di stato e di errore.

Intestazioni di risposta

Nessuno.

Corpo della risposta

Al termine dell'operazione, viene restituito un URL di Azure Storage Container, completo con il token di autenticazione.

Ad esempio:

https://pushpnsfb5702abf7f71e31.blob.core.windows.net/00000000000297200840?sv=2014-02-14&sr=c&sig=XXxxxxxxxxxxxxx%xxxx%2xxxxxxxxxxxxxxxxxxxxxxxxxx%3D&se=2015-05-01T00%3A00%3A22Z&sp=rl

L'URL restituito può quindi essere usato per esplorare il contenitore e recuperare il contenuto usando l'API REST di Servizi di archiviazione di Azure

Di seguito viene illustrato il feedback PNS di esempio, che indica i canali WNS scaduti associati a due id messaggio di notifica diversi:

<EnumerationResults ServiceEndpoint="---Removed---" ContainerName="00000000002001061088">
  <Blobs>
    <Blob>
      <Name>07272016</Name>
      <Properties>
        <Last-Modified>Wed, 27 Jul 2016 20:57:07 GMT</Last-Modified>
        <Etag>---Removed---</Etag>
        <Content-Length>7150</Content-Length>
        <Content-Type>application/octet-stream</Content-Type>
        <Content-Encoding />
        <Content-Language />
        <Content-MD5 />
        <Cache-Control />
        <Content-Disposition />
        <BlobType>BlockBlob</BlobType>
        <LeaseStatus>unlocked</LeaseStatus>
        <LeaseState>available</LeaseState>
      </Properties>
    </Blob>
  </Blobs>
  <NextMarker />
</EnumerationResults>

Get Blob named : 07272016

<?xml version="1.0" encoding="utf-16"?>
<PnsFeedback xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">
  <FeedbackTime>2016-07-27T20:47:10.8905532Z</FeedbackTime>
  <NotificationSystemError>ExpiredChannel</NotificationSystemError>
  <Platform>windows</Platform>
  <PnsHandle>---Removed---</PnsHandle>
  <NotificationId>215e3aba529b49da9b6d35c134147952-20160727204710-2001061088-1</NotificationId>
</PnsFeedback>

<?xml version="1.0" encoding="utf-16"?>
<PnsFeedback xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">
  <FeedbackTime>2016-07-27T20:56:34.1588971Z</FeedbackTime>
  <NotificationSystemError>ExpiredChannel</NotificationSystemError>
  <Platform>windows</Platform>
  <PnsHandle>---Removed---</PnsHandle>
  <NotificationId>82d1e0626bd14221be7298341ae9a7b3-20160727205634-2001061088-1</NotificationId>
</PnsFeedback>

Codice di esempio

Il codice di esempio che illustra questa API REST è disponibile nel repository GitHub di azure-notificationhubs-samples.