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


Обработка запросов на утверждение выставления счетов

 

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

Когда клиент azure Pack Windows создает или удаляет надстройку подписки или подписки, может потребоваться утвердить или отклонить запрос в зависимости от бизнес-практики выставления счетов хостера. Windows Azure Pack определяет интерфейсы REST для утверждения создания и удаления надстройки подписки и подписки. Они реализуются адаптером выставления счетов и после регистрации вызываются всякий раз, когда клиент создает или удаляет надстройку подписки или подписки. Код ответа HTTP указывает, утверждена ли запрошенная операция. Число выше или равно 400 запрещено; Принимается число ниже 400. Содержимое текста ответа игнорируется.

Конечная точка REST API утверждения выставления счетов

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

Если зарегистрировано как обязательное или выставление счетов, вызовы REST блокируются и отправляются в виде уведомлений о запросах в режиме реального времени всем реестрам параметра NotificationSubscribers в службе использования. Состояние события уведомления ожидает утверждения. В зависимости от ответов всех заблокированных подписчиков операция будет утверждена или отклонена. Если подписчики блокировки не зарегистрированы, событие будет автоматически утверждено и будет установлено подтвержденное состояние и предоставляется через REST API службы использования. Дополнительные сведения о типах подписок "Обязательный" и "Выставление счетов" см. в разделе "Настройка Windows службы использования пакета Azure".

Фактическим сигналом для фиксации этих операций в системе выставления счетов будут события, предоставляемые в REST API независимо от того, зарегистрированы ли они в качестве подписчика уведомления; никаких действий по запросам, отправленным через этот API, не следует выполнять, так как они являются только запросами.

Важно!

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

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

Проверка подлинности запроса на утверждение

REST API утверждения выставления счетов должен требовать по крайней мере обычную проверку подлинности.

Обработка запроса на утверждение

Ниже приведен пример запроса на создание подписки, отправляемого адаптеру выставления счетов. Код ответа HTTP, отправляемый адаптером выставления счетов, должен иметь значение 204, чтобы представлять утверждение или 403 для представления отказа в запросе.

POST /usage/subscriptions HTTP/1.1
Content-Type: application/json; charset=utf-8
Host: 10.121.217.127:8888
Content-Length: 564
Expect: 100-continue
{
  "EventId": 6530,
  "State": 2,
  "Method": "POST",
  "Entity": {
    "SubscriptionID": "0a53e53d-1334-424e-8c63-ade05c361be2",
    "SubscriptionName": "ExamplePlan",
    "AccountAdminLiveEmailId": "user@example.com",
    "ServiceAdminLiveEmailId": null,
    "CoAdminNames": [

    ],
    "AddOnReferences": [

    ],
    "AddOns": [

    ],
    "State": 0,
    "QuotaSyncState": 0,
    "ActivationSyncState": 0,
    "PlanId": "Examphlztfpgi",
    "Services": [

    ],
    "LastErrorMessage": null,
    "Features": null,
    "OfferFriendlyName": null,
    "OfferCategory": null,
    "Created": "0001-01-01T00:00:00Z"
  },
  "EntityParentId": null,
  "NotificationEventTimeCreated": "2013-09-25T00:32:08.8724845Z"
}

Если адаптер выставления счетов получает событие и возвращает сообщение об ошибке, событие не будет успешно завершено в API управления службами. Если это не ожидаемое поведение, адаптер выставления счетов должен отправить код состояния 200 для каждого уведомления о событии и регистрировать все сбои для последующей обработки. Все полученные неизвестные события должны привести к возврату кода состояния 200.

См. также:

Настройка службы Windows использования пакета Azure
Реализация адаптера выставления счетов