Compartir a través de


Obtención de comentarios de Platform Notification Services (PNS)

Recupera una dirección URL del contenedor de Azure Storage. El contenedor tiene datos de comentarios para el centro de notificaciones. A continuación, el autor de la llamada puede usar la API rest de servicios de Azure Storage para recuperar el contenido del contenedor.

Solicitud

Método URI de solicitud Versión de HTTP
GET https://{namespace}.servicebus.windows.net/{Notification Hub}/feedbackcontainer?api-version=2015-01 HTTP/1.1

Encabezados de solicitud

En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.

Encabezado de solicitud Descripción
Content-Type application/xml;type=entry;charset=utf-8
Authorization Token de SAS generado tal y como se especifica en Autenticación de firma de acceso compartido con Service Bus.
x-ms-version 2015-01

Cuerpo de la solicitud

Ninguno.

Response

La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.

Códigos de respuesta

Código Descripción
200 Se ha capturado la dirección URL del contenedor.
401 Error de autorización. La clave de acceso era incorrecta.
403 Solicitud rechazada porque la característica no está habilitada para la SKU. Actualice a Estándar.

Para obtener información sobre los códigos de estado, vea Códigos de estado y error.

Encabezados de respuesta

Ninguno.

Response body

Una vez que se ha realizado correctamente, se devuelve una dirección URL de contenedor de Azure Storage, que se completa con el token de autenticación.

Por ejemplo:

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

A continuación, se puede usar la dirección URL devuelta para navegar por el contenedor y capturar el contenido mediante la API rest de servicios de Azure Storage.

A continuación se muestran los comentarios de PNS de ejemplo, que indican los canales expirados de WNS asociados a dos identificadores de mensaje de notificación diferentes:

<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>

Ejemplo de código

El código de ejemplo que muestra esta API REST está disponible en el repositorio de GitHub azure-notificationhubs-samples.