共用方式為


處理使用狀況事件資料

 

適用于:Windows Azure Pack

在適用于 Windows Server 計費系統的 Windows Azure Pack 中,預期會使用租使用者管理訂用帳戶、方案等的使用事件資料來計算租使用者計費資訊。 若要這樣做,計費系統的計費配接器會使用使用量 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 (Usage Metering Object 的清單,) 包含最近計畫事件的物件。 例如:

[
  {
    "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 Azure Pack Usage Service Usage REST API 參考

處理使用狀況事件

若要存取使用量事件資料,請使用 UsageEvent (Usage Metering Object) Usage Service REST API 所傳回的物件。 傳送至計費配接器的事件通知會遵循類型 - UsageEvent (Usage Metering Object) < T >類型,其中 T 會由下列其中一個物件取代。

  • 計畫

  • PlanAddon

  • AdminSubscription

  • ResourceProviderReference

  • PlanAddonReference

UsageEvent物件包含事件實體的相關資訊,例如方案和訂用帳戶、建立或刪除等作業類型,以及作業的目前狀態。 下表說明要針對每個組合狀態在計費配接器中採取哪些動作:

事件/作業

建立 (POST)

更新 (PUT)

刪除

規劃

處理所有事件

忽略

忽略手動 (手動)

規劃附加元件

處理所有事件

忽略

忽略手動 (手動)

方案服務

處理所有事件

忽略

忽略手動 (手動)

附加元件

處理所有事件

忽略

忽略手動 (手動)

附加元件服務

處理所有事件

忽略

忽略手動 (手動)

訂用帳戶

處理「已認可」事件

處理「擱置核准」和「已認可」事件

處理「已認可」事件

訂用帳戶附加元件

處理「已認可」事件,包括「重複」事件*

忽略

處理「已認可」事件

處理上述資料表的重要 UsageEvent 屬性如下:

屬性

說明

實體

包含正在操作的物件。 例如, AdminSubscription (訂用帳戶的 Administrator 物件)

方法

POST、PUT 或 DELETE 等作業類型。

狀態

作業的目前狀態。

描述

0

已認可

1

已拒絕

2

擱置核准

3

已核准

上述作業可能會發生重複的事件。 例如,「刪除計畫」事件可能會在同一個資料列中發生兩次,因為作業可能會失敗。 針對「建立訂用帳戶附加元件」事件,租使用者能夠多次購買相同的附加元件, (如果設定該附加元件) ,因此每個建立事件都應該進行處理,使其在計費系統中建立新的實體。 對於所有其他的建立作業,不應該在計費系統中建立重複的建立 (亦即,如果實體已經存在,請勿建立另一個) ,而且可以安全地忽略它們。

Windows Azure 套件與計費系統之間的實體對應

計費配接器應該會在計費系統中建立實體,其名稱符合從 Windows Azure Pack 傳送的識別碼。 如此一來,系統管理員可以將 Azure Pack 中哪些實體Windows對應至計費系統中的實體。 如果計費系統不支援此功能,則計費配接器必須維護對應資訊,以將 Windows azure Pack 所使用的識別碼轉譯為計費系統所使用的識別碼。 因此,計費配接器應該有一些機制,以安全的方式將此對應資訊公開給系統管理員,以便解決任何不一致或不確定的情況。

處理訂用帳戶

訂用帳戶事件會在下列情況下建立:

  • 啟用或暫停訂用帳戶時。

  • 移轉訂用帳戶時。

訂閱暫停

重要

此處所述的訂用帳戶暫停將無法在下一個更新版本Windows Azure Pack 之前使用。 在目前的 RTM 組建中,無法透過這個介面偵測訂閱暫停和啟用。 從計費系統的觀點來看,將會有無法採取動作的訂用帳戶更新事件,而且應該予以忽略。

如果訂用帳戶在 Windows Azure Pack 中暫停,因此不允許租使用者布建新資源或使用暫停的訂用帳戶存取現有資源,這項變更將會透過訂用帳戶更新事件傳播至計費系統。 訂閱物件 AdminSubscription (Administrator 物件) ,具有狀態屬性,指出訂用帳戶是否為Active 或Suspended。 如果系統管理員暫停使用者的訂用帳戶,他們應該在其計費系統中做出適當的安排,以防止使用者產生不適當的費用。 請注意,不會刪除使用者的現有資源,例如資料庫、網站和 VM;只會移除租使用者的存取權。 此外,因為使用者可能有多個訂用帳戶,所以在其餘訂用帳戶保持作用中時,可能會暫停其中一個使用者的訂用帳戶。 除非Windows與該使用者相關聯的 Azure Pack 中的所有訂用帳戶都已暫停,否則在計費系統中不應該發生使用者層級暫停。

訂用帳戶移轉

Windows Azure Pack 中起始訂用帳戶移轉時,使用量服務 REST API 中將會公開事件作為訂用帳戶更新事件,其中包含訂用帳戶參考之新方案的方案識別碼。 若要偵測此情況,計費配接器必須追蹤每個訂用帳戶的 WAP 方案識別碼,以便偵測這項變更,並在計費系統中採取適當的動作。 此外,任何先前與移轉訂用帳戶相關聯的訂用帳戶附加元件,都必須在計費系統中刪除;這些附加元件會移除Windows Azure Pack,而其配額增加會整合到新方案的配額中。

另請參閱

Windows Azure Pack Usage Service Usage REST API 參考