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


Обработка данных о событиях использования

 

Область применения: Windows Azure Pack

В Windows Azure Pack для системы выставления счетов Windows Server данные о событиях использования об управлении клиентами подписок, планов и т. д., как ожидается, будут использоваться для вычисления сведений о выставлении счетов клиента. Для этого адаптер выставления счетов системы выставления счетов использует REST API использования для сбора данных о событиях использования и создания базы данных данных об использовании, применимых к потребностям выставления счетов.

Получение событий использования

Конечная точка службы использования предоставляет REST API для возврата данных о выставлении счетов для планов, надстроек плана, службы планов, надстроек и подписок. Например, чтобы получить события плана, выполняется вызов REST API получения событий плана :

https://<Computer>:30022/billing/plans?startId=0&batchSize=1 HTTP/1.1
Accept: application/json
Authorization: basic <Token>
Host: <Computer>:30022
Connection: Keep-Alive

Текст ответа возвращает список объектов UsageEvent (объект измерения использования), содержащих последние события плана. Пример:

[
  {
    "EventId": 1,
    "State": 0,
    "Method": "0",
    "Entity": {
      "Id": "Idjt711xf",
      "DisplayName": "TheDisplayName",
      "State": 0,
      "ConfigState": 0,
      "QuotaSyncState": 2,
      "LastErrorMessage": null,
      "Advertisements": [
        {
          "LanguageCode": "en-us",
          "DisplayName": "TheDisplayName",
          "Description": null
        }
      ],
      "ServiceQuotas": [
        {
          "ServiceName": "webspaces",
          "ServiceInstanceId": "4576E3B4-881D-4B9F-87F4-E72206FB11D6",
          "ServiceDisplayName": "Web Site Cloud",
          "ServiceInstanceDisplayName": null,
          "ConfigState": 0,
          "QuotaSyncState": 2,
          "Settings": [

          ]
        },
        {
          "ServiceName": "sqlservers",
          "ServiceInstanceId": "2FBED6DE-5195-4F95-98DC-B67829621025",
          "ServiceDisplayName": "SQL Servers",
          "ServiceInstanceDisplayName": null,
          "ConfigState": 0,
          "QuotaSyncState": 2,
          "Settings": [

          ]
        },
        {
          "ServiceName": "mysqlservers",
          "ServiceInstanceId": "0C18772C-3596-4E2A-BD60-21230C186D17",
          "ServiceDisplayName": "MySQL Servers",
          "ServiceInstanceDisplayName": null,
          "ConfigState": 0,
          "QuotaSyncState": 2,
          "Settings": [

          ]
        },
        {
          "ServiceName": "servicebus",
          "ServiceInstanceId": "B40CC649-1ACE-4134-ADC9-1E610B64F400",
          "ServiceDisplayName": "Service Bus",
          "ServiceInstanceDisplayName": null,
          "ConfigState": 0,
          "QuotaSyncState": 2,
          "Settings": [

          ]
        }
      ],
      "SubscriptionCount": 0,
      "MaxSubscriptionsPerAccount": 1,
      "AddOnReferences": [

      ],
      "AddOns": [

      ],
      "InvitationCode": null,
      "Price": null
    },
    "EntityParentId": null,
    "NotificationEventTimeCreated": "2013-07-31T23:56:20.05"
  }
]

Дополнительные сведения о доступном REST API использования см. в Windows справочнике по REST API использования службы "Использование пакета Azure".

Обработка событий использования

Чтобы получить доступ к данным о событиях использования, используйте объект UsageEvent (объект измерения использования), возвращаемый REST API службы использования. Уведомления о событиях, отправленные адаптеру выставления счетов, соответствуют типу UsageEvent (объект измерения использования)<T> , в котором T заменяется одним из следующих объектов.

  • План

  • PlanAddon

  • AdminSubscription

  • ResourceProviderReference

  • PlanAddonReference

Объект UsageEvent содержит сведения о сущности события, такой как Plan и Subscription, тип операции, например создание или удаление, и текущее состояние операции. В следующей таблице описаны действия, выполняемые в адаптере выставления счетов для каждого состояния сочетания.

Событие или операция

Создание (POST)

Обновление (PUT)

Удаление

Планы

Обработка всех событий

Пропустить

Пропустить (вручную)

Планирование надстроек

Обработка всех событий

Пропустить

Пропустить (вручную)

Службы планирования

Обработка всех событий

Пропустить

Пропустить (вручную)

Надстройки

Обработка всех событий

Пропустить

Пропустить (вручную)

Службы надстроек

Обработка всех событий

Пропустить

Пропустить (вручную)

Подписки

обработка событий "Подтверждено"

Обработка событий "Ожидание утверждения" и "Подтверждено"

Обработка событий "Подтверждено"

Надстройки подписки

обработка событий "Подтверждено", включая "повторяющиеся" события*

Пропустить

Обработка событий "Подтверждено"

Важные свойства UsageEvent для обработки приведенной выше таблицы:

Свойство.

Описание:

Сущность

Содержит объект, на котором выполняется операция. Например, AdminSubscription (объект Administrator) для подписки.

Метод

Тип операции, например POST, PUT или DELETE.

Состояние

Текущее состояние операции.

Значение

Описание

0

Подтверждено

1

Отклонено

2

Ожидание утверждения

3

Approved

Повторяющиеся события могут возникать для некоторых из описанных выше операций. Например, событие удаления плана может происходить дважды в строке с одинаковыми данными, так как операция может завершиться ошибкой. Для события "Создание надстройки подписки" клиент может приобрести одну и ту же надстройку несколько раз (если она настроена таким образом), чтобы каждое событие создания должно быть обработано таким образом, чтобы оно привело к созданию новой сущности в системе выставления счетов. Для всех других операций создания повторяющиеся создания не должны создаваться в системе выставления счетов (т. е. если сущность уже существует, не создавайте другую) и их можно спокойно игнорировать.

Сопоставление сущностей между Windows пакетом Azure и системой выставления счетов

Адаптер выставления счетов должен создавать сущности в системе выставления счетов с именами, которые соответствуют идентификатору, отправленного из Windows Azure Pack. Таким образом администратор может сопоставить сущности в Windows Azure Pack, к каким сущностям в системе выставления счетов. Если система выставления счетов не поддерживает эту функцию, адаптеру выставления счетов потребуется сохранить сведения о сопоставлении, чтобы преобразовать идентификаторы, используемые Windows Azure Pack, в идентификаторы, используемые системой выставления счетов. По этой причине адаптер выставления счетов должен иметь определенный механизм, который предоставляет эти сведения о сопоставлении администратору безопасным образом, чтобы можно было устранить любые несоответствия или неопределенности.

Обработка подписок

События подписки создаются в следующих случаях:

  • При активации или приостановке подписки.

  • При миграции подписки.

Приостановка подписки

Важно!

Приостановка подписки, как описано здесь, будет недоступна до следующего выпуска обновления Windows Пакета Azure. В текущей сборке RTM приостановка подписки и активация не обнаруживаются с помощью этого интерфейса. С точки зрения системы выставления счетов будут доступны события обновления подписки, которые не подходят для действий и должны игнорироваться.

Если подписка приостанавливается в Windows Azure Pack, таким образом, запрещает клиенту подготавливать новые ресурсы или получать доступ к существующим с помощью приостановленной подписки, это изменение будет распространяться в систему выставления счетов через событие обновления подписки. Объект подписки AdminSubscription (объект Administrator) имеет свойство состояния, указывающее, является ли подписка активной или приостановленной. Если администратор приостанавливает подписку пользователя, он должен принять соответствующие меры в системе выставления счетов, чтобы предотвратить неуместные расходы для пользователя. Обратите внимание, что существующие ресурсы пользователя, такие как базы данных, веб-сайты и виртуальные машины, не удаляются; Удаляется только доступ клиента к ним. Кроме того, так как у пользователей может быть несколько подписок, возможно, одна из подписок пользователя может быть приостановлена, пока остальные остаются активными. Приостановка на уровне пользователя не должна выполняться в системе выставления счетов, если только не все подписки в Windows Пакет Azure, связанный с этим пользователем, были приостановлены.

Миграция подписки

Когда миграция подписки инициируется в Windows Azure Pack, событие будет представлено в REST API службы использования в виде события обновления подписки, которое содержит идентификатор плана нового плана, на который ссылается подписка. Чтобы обнаружить это, адаптеру выставления счетов потребуется отслеживать идентификатор плана WAP каждой подписки, чтобы он смог обнаружить это изменение и предпринять соответствующие действия в системе выставления счетов. Кроме того, все надстройки подписки, которые ранее были связаны с перенесенной подпиской, необходимо удалить в системе выставления счетов; Эти надстройки удаляются в Windows Azure Pack, а их увеличение квот интегрировано в квоты нового плана.

См. также:

Windows справочник по REST API использования службы использования пакета Azure