Поделиться через


Получение отзывов о службах уведомлений платформы (PNS)

Извлекает URL-адрес контейнера службы хранилища Azure. Контейнер содержит данные отзывов для центра уведомлений. Затем вызывающий объект может использовать REST API служб хранилища Azure для получения содержимого контейнера.

Запрос

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
GET https://{namespace}.servicebus.windows.net/{Notification Hub}/feedbackcontainer?api-version=2015-01 HTTP/1.1

Заголовки запросов

В следующей таблице перечислены обязательные и необязательные заголовки запросов.

Заголовок запроса Описание
Content-Type application/xml;type=entry;charset=utf-8
Авторизация Маркер SAS создается, как указано в разделе Проверка подлинности подписанного URL-адреса с помощью служебной шины.
x-ms-version 2015-01

Текст запроса

Нет.

Ответ

Ответ включает код состояния HTTP и набор заголовков ответа.

Коды ответов

Код Описание
200 Извлек URL-адрес контейнера.
401 Ошибка авторизации. Неправильный ключ доступа.
403 Запрос отклонен, так как функция не включена для SKU. Обновление до уровня "Стандартный".

Сведения о кодах состояний см. в разделе Коды состояний и ошибок.

Заголовки ответов

Нет.

Текст ответа

После успешного выполнения возвращается URL-адрес контейнера службы хранилища Azure в комплекте с маркером проверки подлинности.

Пример:

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

Затем возвращаемый URL-адрес можно использовать для навигации по контейнеру и получения содержимого с помощью REST API служб хранилища Azure.

Ниже приведен пример обратной связи по PNS, который указывает каналы WNS с истекшим сроком действия, связанные с двумя разными идентификаторами сообщений уведомлений:

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

Пример кода

Пример кода, демонстрирующий этот REST API, доступен в репозитории GitHub azure-notificationhubs-samples.