如何建置和執行計費配接器範例
適用於:Windows Azure Pack
計費配接器範例隨附於 的 Windows Azure 套件開發人員套件範例中 https://www.microsoft.com/en-us/download/details.aspx?id=41146。 下列主題示範如何建置和執行範例作為主控台應用程式或 Windows 服務。 也會提供腳本,示範如何以 Windows 服務的形式執行範例。
注意
第一次啟動計費配接器時,可能需要一段時間才能取用 Windows Azure 套件使用量 API 中的所有歷程記錄數據。 如果有許多事件可供取用,應該暫時停用租使用者功能,以避免發生任何同步處理問題。 如果未這麼做,如果使用者在購買時尚未將相依事件處理到計費系統,可能會封鎖一些購買作業。 這可藉由停止 TenantSite、TenantAPI 和 TenantPublicAPI 的應用程式集區或網站服務來完成。
建置帳單配接器範例
建置計費配接器範例
將 Windows Azure Pack 開發人員套件 zip 檔案解壓縮至資料夾。
在解壓縮的資料夾中,找出 BillingAdapter 資料夾中的 Billing Adapter Visual Studio 解決方案 Microsoft.WindowsAzurePack.Samples.Billing.sln 。
在 Visual Studio 中開啟方案 (.sln) 檔案。
選取 [工具] 功能表選項,然後選取 [擴充功能和 匯報,確定已安裝最新的 NuGet 套件安裝程式。 在顯示的對話框中,選取 [ 在線 ],然後選取 [ Visual Studio 資源庫 ],以查看是否有 NuGet 套件管理員的更新。 如果有的話,請加以安裝。
如果未安裝 NuGet 套件管理員,請參閱 https://www.nuget.org/。
開啟 [NuGet 套件安裝程式選項] 對話框,以確保會自動下載必要的套件。 若要這樣做,請選取 [工具 ] 功能表[ 連結庫套件管理員]、 [管理方案的 Nuget 套件...]。 [ 管理 NuGet 套件 ] 對話框隨即顯示。 按兩下 [設定] 以開啟 [ 選項 ] 對話框。
選取 [套件管理員 ],然後選取 [ 一般]。
在 [ 套件還原 ] 區段中,確定已核取 [允許 Nuget 下載遺漏的套件 ],並 核取 [在 Visual Studio 中建置期間自動檢查遺漏的套件 ]。
按兩下 [確定 ] 關閉設定對話框,然後按兩下 [ 關閉 ] 以關閉 [管理 NuGet 套件 ] 對話框。
在 Visual Studio 中建置方案。
執行計費配接器範例
計費配接器範例可以當做控制台應用程式或 Windows 服務來執行。
建議您將建置輸出目錄 (通常位於專案資料夾中的 bin\Debug 或 bin\Release 底下,) 複製到不同的位置,並根據生產環境設定編輯此位置中的 app.config。 將組建輸出複製到不同的位置,可防止未來的組建覆寫您的 app.config 變更。 此外,請確定您的計費配接器系統特定元件位於相同的資料夾中,包括其所有相依性 (或在全域程式集緩存) 中註冊。 如需 app.config 檔案的詳細資訊,請參閱 關於計費配接器核心引擎範例檔案。
計費配接器會將追蹤訊息發出至 Windows 事件記錄通道。 必須先註冊此通道,才能使用它。 若要註冊通道,請使用 registerlog 自變數叫用計費配接器可執行檔。 例如,Microsoft.WindowsAzurePack.Samples.Billing.exe registerlog。
以主控台應用程式身分執行計費配接器
開啟命令提示
使用輸出資料夾中的 registerlog 自變數執行 Microsoft.WindowsAzurePack.Samples.Billing.exe, (通常位於項目資料夾中的 bin\Debug 或 bin\Release 底下) 。
以 Windows 服務身分執行計費配接器
開啟命令提示字元。
使用 registerlog 參數執行 Microsoft.WindowsAzurePack.Samples.Billing.exe。
在計費配接器資料夾上,將 [讀取] & [執行] 許可權授與將用來執行服務的帳戶。
將計費配接器註冊為 Windows 服務。 將計費配接器可執行文件註冊為 Windows 服務時,必須提供「服務」自變數:Microsoft.WindowsAzurePack.Samples.Billing.exe 服務。
啟動 Windows 服務。
以 Windows 服務身分執行計費配接器範例的腳本
下列腳本示範如何以 Windows 服務身分執行計費配接器範例
# \"Install\" the billing adapter (creates the event log channel where the service will log events)
<Path to Sample Build Location>\Microsoft.WindowsAzurePack.Samples.Billing.exe registerlog
# Give permissions to the account running the service to access the folder where it is installed and run the executable
icacls <Path to Sample Build Location>/T /grant "NT AUTHORITY\NETWORK SERVICE:(RX)"
# Create (register) the service to be run on startup using the account given access above.
sc create wapbill start= auto binPath= "<Path to Sample Build Location>\Microsoft.WindowsAzurePack.Samples.Billing.exe service" obj= "NT AUTHORITY\NetworkService" DisplayName= "Azure Pack Billing Adapter"
# start the service
sc start wapbill