本文章是由機器翻譯。

Azure SDK 2.5

Azure SDK 2.5 為.NET 和Visual Studio2015年概述

Mohit Srivastava
Saurabh Bhatia

為.NET Azure SDK 輕鬆為您。基於網路的雲應用程式使用微軟 Azure 資源。此外,Visual Studio被集成到雲計算的發展經驗。您可以查看和管理雲資源直接從Visual Studio,將雲服務添加到您的專案,以及從 IDE 將發佈到雲。

本文針對.NET 的一些新特性在 Azure SDK 2.5 中快速遊覽。許多所示的功能在這裡支援Visual Studio2012 及 2013 年,Visual Studio,但有些需要Visual Studio2015年預覽,注意到的地方。

這篇文章的流量被打算按照典型的開發工作流,同時側重于 Azure SDK 2.5 的新功能:

  • 登錄到Visual Studio和 Azure
  • 創建一個雲專案
  • 添加雲服務和 Azure 存儲、 WebJobs,和單點登錄等功能
  • 啟用診斷和代碼分析

登錄到Visual Studio和 Azure

當您啟動Visual Studio時,系統會提示您使用微軟帳戶登陸。在Visual Studio2015年預覽中,如果該帳戶也是與你 Azure 訂閱關聯您自動登入到 Azure。要查看你蔚藍的資源,請從視圖功能表中選擇伺服器資源管理器。

Visual Studio2015 預覽可以讓您使用多個帳戶登錄一次。舉個例子,你可能有與 MSDN 訂閱關聯的 Microsoft 帳戶,也為您的公司使用您組織的帳戶登錄。伺服器資源管理器顯示您的帳戶的所有資源。

若要添加另一個帳戶,請在伺服器資源管理器中的蔚藍節點上按右鍵,然後選擇管理訂閱。這就引出了一個對話方塊,說明您已經添加到Visual Studio的帳戶。若要添加一個新的帳戶,請按一下添加帳戶。在管理訂閱對話方塊中,還可以篩選哪些蔚藍的資源出現在伺服器資源管理器通過取消選中帳戶、 訂閱、 地區或證書。

另一個不錯的改進是現在您可以查看您的 SQL 資料庫伺服器資源管理器中沒有導入證書。只需登錄到您的 Azure 帳戶和在伺服器資源管理器中查看您的 SQL 資料庫。(此功能也是在Visual Studio2013年更新 4 中可用的)。

快速入門範本

要快速地開始使用 Azure,可以使用新的快速啟動範本。這些範本提供了示例代碼,演示如何使用 Azure SDK 和其他圖書館與 Azure 服務進行交互。發現快速入門範本下檔 |新 |專案 |C# |雲 |快速入門。

在當前版本中,有快速入門範本為 Azure 存儲 (Blob,表,佇列)、 DocumentDB、 Azure 穿紅衣的快取服務,Azure 媒體服務,Azure WebJobs 和服務匯流排 (主題和佇列)。也是顯示如何使用微軟 Azure 管理庫 (MAML) 以程式設計方式管理 Azure 資源的快速入門。

創建資源組和雲部署專案

一個典型的雲應用程式可能會使用幾個不同的蔚藍資源。例如,一個應用程式可能在 Azure 網站主辦,為關係資料使用的 SQL 資料庫、 使用 Azure 存儲 blob 或佇列,並使用 Azure 穿紅衣的緩存低延遲資料訪問。

資源組是一個方法來管理所有的資源作為一個邏輯組。Azure SDK 2.5,您可以創建和部署的資源組,使用新的雲部署專案範本中的資源集。目前,有的範本:

  • Azure 網站
  • Azure 網站 + SQL
  • Azure 網站 + SQL + 穿紅衣的緩存

在未來的版本中,將為使用其他 Azure 的功能,如網路、 存儲和虛擬機器的應用場景添加更多的範本。請選擇最接近您正在構建的解決方案範本。

這裡是它如何工作。在Visual Studio,選擇檔 |新 |專案 |雲 |雲計算部署專案。MyAzureCloudApp 專案的名稱並按一下確定。然後從常見的 Azure 畫廊範本清單中選擇,如中所示圖 1

天青廚房範本
圖 1 天青廚房範本

例如,選擇 Azure 網站範本並命名專案 MyAzureCloudApp。您可以選擇範本之後,提示您為ASP.NET專案類型 (包括 Web 表單、 MVC、 Web API 等等)。Visual Studio將創建具有兩個專案的解決方案:

  • MyAzureCloudApp 是ASP.NET應用程式。
  • MyAzureCloudApp.Deployment 是部署專案。

部署專案中,所示圖 2,其中包含以下檔:

  • WebSiteDeploy.json:部署範本。
  • WebSiteDeploy.param.dev.json:範本參數。
  • 發佈-AzureResourceGroup.ps1:可以用來將您的資源部署到 Azure 的 Windows PowerShell 腳本。

部署專案檔案
圖 2 部署專案檔案

在一起,部署範本 (WebSiteDeploy.json) 和參數檔 (WebSiteDeploy.param.dev.json) 指定部署和調配資源的詳細資訊。

從Visual Studio,很容易就可以將您的資源部署到 Azure。在解決方案資源管理器中,右擊部署專案,並選擇部署 |新的部署。在新的部署對話方塊中,選擇資源組。這就引出了到資源組對話方塊中部署。

若要創建新的資源組,請按一下資源組下拉式列示方塊並選擇新建。資源組進行命名、 選擇一個區域,並按一下創建。按一下創建按鈕規定 Azure 資源組中,但不運轉蔚藍的任何資源尚未。(那會發生當你部署)。

接下來,按一下編輯參數編輯部署範本,如 Web 網站名稱的參數,Web 託管計畫和 Web 網站的位置。如果任何缺少必需的值,他們看到一個紅色的警告圖示。當您按一下保存時,參數值保存回網站­Deploy.param.dev.json 檔。下次您部署時,您不需要重新輸入這些資訊。當重新調配資源,能夠自訂和存儲的本地的 JSON 減少出現錯誤的機率。

已經指定的所有參數之後,按一下部署提供資源,並部署應用程式。你可以看到在Visual Studio中的輸出視窗中的詳細的進展。您還可以在新的 Azure 監管中心中查看資源組和已部署的資源。

部署範本和參數檔可以容易地在雲生命週期模式中工作,當作代碼上配置。例如,您可以創建幾個參數檔,如 *。 test.json 和 *。 staging.json,以便單個範本可以將部署到多個環境來測試,分期,等等。Visual Studio有一個內置的 JSON 編輯器,並包括IntelliSense基於發佈的 JSON 模式,便於 JSON 檔進行編輯。

企業單一登入

為商務應用程式的一個常見的任務是配置企業單一登入 (SSO) 使用 Azure Active Directory 申請。在Visual Studio2015年,您可以輕易做到這在任何時候在開發過程中。該專案在解決方案資源管理器中的用滑鼠右鍵按一下並選擇配置 Azure AD 身份驗證。

這將彈出一個嚮導,指導您完成配置您的應用程式能夠與 Active Directory 的過程。在嚮導中指定 Active Directory 域會與那 Active Directory 中註冊您的應用程式和配置您的應用程式提示輸入登錄。 在一個域中註冊您的應用程式是一個偉大的方式,開始在開發測試環境中。您可以輕鬆地重新配置應用程式的設定檔,當您從一個環境移到下一個應用程式的生命週期中使用其他域。你可以找出更多關於此功能的 Azure 活動目錄概述視頻在 bit.ly/1xCRpoc

添加連接的服務

一旦你創造了雲應用程式中,Visual Studio2015年就容易將額外的雲服務納入您的應用程式,包括 Azure 存儲、 Azure 移動服務、 辦公室 365 或銷售人員。

這裡是你如何連接到 Azure 存儲帳戶ASP.NET應用程式。在解決方案資源管理器中,展開 Web 應用程式專案。接下來,按右鍵引用節點並選擇添加連接服務。選擇 Azure 存儲從服務清單中,按一下配置。

Visual Studio顯示您現有的存儲帳戶的清單。選擇其中之一,或提供一個新。然後按一下添加,從您的應用程式連接到該存儲帳戶。這增加了 Azure 存儲引用使用最新的 NuGet 套裝程式,並在 web.config 中添加一個用於您所選的存儲帳戶連接字串。 Visual Studio還顯示入門教程頁後,可以説明您開始使用 Azure 存儲。重溫入門頁,用滑鼠右鍵按一下解決方案資源管理器中的 GettingStarted.html 檔並在瀏覽器中選擇視圖。

Blob 存儲資源管理器中的資料夾

Blob 存儲是永久檔存儲為雲。Blob 可以是任何類型的文本或二進位資料如文檔、 媒體檔案或應用程式的安裝程式。Blob 資料夾是組 blob 分成邏輯單元 (一種方法。這是特別有用的如果你正在使用一個 blob 容器來存儲您的所有資訊。就實現而言,blob 資料夾是真的只是一個首碼為 blob 名稱,用分隔 / 人物。例如,如果您有名叫 file.png 命名的圖片的資料夾內的 blob,該 blob 的 URL 將採用以下格式:

HTTPs://<storageaccountname>.blob.core.windows.net/<blobcontainername>/pictures/file.png

從本發行版本開始,您可以創建 blob 資料夾從裡面Visual Studio,和流覽 blob 資料夾的內容。

在伺服器資源管理器中,展開存儲節點。此節點下是您存儲帳戶。擴大 [存儲帳戶] |Blob |[容器名稱]。用滑鼠右鍵按一下容器名稱並選擇視圖 Blob 容器。此外可以從伺服器資源管理器中創建新的容器。

通過資料夾導航通過按兩下資料夾去在它裡面,然後使用向上箭號去了一個級別。當你將一個 blob 上載到 Azure 存儲使用上傳按鈕,可以創建一個新資料夾。

WebJobs

蔚藍的 WebJobs 提供簡便的方法來作為後臺進程運行腳本或程式,在 Azure 網站上。您可以上載和運行可執行檔 (如.cmd.bat.exe (.NET)、.ps1,.sh、.php、.py、.js、.jar。這些程式運行作為 WebJobs 按時 (cron 或連續。蔚藍的 WebJobs 和 WebJobs SDK 現一般可用。若要瞭解有關 WebJobs 的詳細資訊,請參閱 aka.ms/webjobs。

您還可以添加現有的 Web 應用程式的 WebJob 專案。在解決方案資源管理器中,按右鍵 Web 應用程式專案並按一下添加 |新蔚藍的 WebJob 專案。作為圖 3 所示,您可以選擇是否想要 WebJob 為連續運行,在一個固定的時程表或上的需求。對於計畫 WebJobs,選擇開始和結束時間以及頻率。

向專案中添加蔚藍的 WebJob
圖 3 向專案中添加蔚藍的 WebJob

按需或按預定時間工作的 Program.cs 檔包含顯式執行 WebJob 的以下代碼:

static void Main()
{
  var host = new JobHost();
  host.Call(typeof(Functions).GetMethod("ManualTrigger"), 
    new { value = 20 });
}

連續 WebJobs 得到一個不同的 Program.cs 檔,其中包括調用啟動 WebJob 主機並阻止它退出:

static void Main()
{
  var host = new JobHost();
  // The following code ensures the WebJob will be running continuously
  host.RunAndBlock();
}

有關創建和部署 WebJob 專案的詳細資訊,請參閱 bit.ly/1pGVplo

與 Azure SDK 2.5,你 WebJobs 現在出現在伺服器資源管理器。它們列出下的 Azure 網站,在那裡他們部署部隊,並按運行模式 (不斷,在需求或附表) 進行分組。通過按右鍵 WebJob 在伺服器資源管理器中的,您可以為該 WebJob 打開儀表板。您還可以運行按需作業,或停止和啟動連續工作。

連續的 WebJobs 現在支援遠端偵錯。一旦開始連續的 WebJob,您可以將Visual Studio調試器附加到 WebJob 在雲中運行。若要附加調試器,WebJob 在伺服器資源管理器中的用滑鼠右鍵按一下並選擇附加調試器。通過放置一個中斷點,並附加調試器,您能夠逐句通過代碼就好像它在Visual Studio中本地運行。

HDInsight

SDK 包含新的工具,讓你更有效率,使用大資料使用 HDInsight 承載的 Hadoop 服務和使用蜂巢來查詢您的資料集的伺服器資源管理器中。

像任何其他 Azure 的服務,你可以流覽 HDInsight 資源在您的訂閱或做開發測試的常見任務。可以使用伺服器資源管理器來流覽你的蜂巢表、 檢查架構和甚至查詢表的第一次 100 行。這有助於您理解您正在使用的資料的形狀。

此外,那裡模具創建蜂巢查詢並將其提交作為作業。使用內容功能表對 Hadoop 集群,立即開始與"寫蜂巢查詢"對於快速的腳本。工作的瀏覽器工具可以説明您以視覺化形式的作業提交和地位。按兩下任何工作要在蜂巢的工作摘要視窗的摘要和詳細資訊。在示例中圖 4,與地理資訊以查找所有國家的計數,然後按國家排序查詢的表。

Visual Studio伺服器資源管理器中查看配置單元作業
圖 4 Visual Studio伺服器資源管理器中查看配置單元作業

採用 HDInsight 支援 blob 存儲在伺服器資源管理器中列出。您可以導航到任何 blob 容器,然後打開它以處理檔。在蔚藍的儀表板中的群集創建過程中,後備存儲是與 Hadoop 集群。Hadoop 集群管理仍執行相同的蔚藍儀表板。

對於更複雜的腳本開發和生命週期管理,您可以創建 Hive 專案內Visual Studio。新建專案對話方塊中現在有 HDInsight 範本的類別。一個有用的起點是蜂巢的樣本專案類型。這個專案是預先填充更複雜的蜂巢查詢和樣本資料的情況下處理 Web 服務器日誌。

改進的診斷日誌記錄為雲服務和虛擬機器

蔚藍的 SDK 2.5 包括改進對診斷記錄在兩個 Azure 雲計算服務平臺作為服務 (PaaS) 和虛擬機器基礎架構即服務 (IaaS)。

例如,您現在可以執行結構化和語義測井使用事件跟蹤 Windows (ETW) 事件源。ETW 事件源和事件 Id 允許您定義邏輯事件和應用程式工作流階段。然後你可以跨多個層,以説明診斷問題在您的應用程式工作流的跟蹤事件。您還可以收集崩潰轉儲。預設情況下,雲角色的最常見過程都是預先選定的崩潰轉儲集合。一個非常不錯的功能是你可以更新正在運行的服務的診斷配置後發佈雲計算服務。

蔚藍預覽 Microsoft 代碼分析

如果能在您的代碼中發現問題,當您鍵入嗎?不只是編譯錯誤,但微妙的編碼問題。

在Visual Studio2015年預覽中.NET 編譯器平臺提供了新即時檢測代碼問題,當您編寫代碼的代碼分析功能。利用這些功能,Azure 團隊已經將代碼分析規則一小套的 Azure。這些規則確定您的代碼中的問題,並在可能的情況下,建議自動修復。他們可以通過 Microsoft 代碼分析 Azure NuGet 套裝程式。

要安裝此套裝軟體,請用滑鼠右鍵按一下您的解決方案並選擇管理 NuGet 套裝程式的解決方案。請確保選中了包括預發佈版核取方塊和搜索 Azure 代碼分析。

這應該找到 Microsoft.VisualStudio.Azure.CodeAnalysis 包。選擇您的解決方案中的專案,按一下安裝,使這些專案的代碼分析。一旦分析儀添加到專案中,總是運行代碼分析。要對整個解決方案運行代碼分析,生成解決方案。任何代碼分析警告或錯誤將自動顯示在錯誤清單中作為您對原始檔案進行編輯。

作為你任何有問題的行的代碼將顯示一條紅色底線的錯誤或警告的綠色底線。懸停在帶底線的代碼,以獲取詳細資訊。按一下燈泡旁邊要獲取修補程式的額外詳細資訊的問題。例如, 圖 5 Run 方法被聲明為非同步工作者角色的顯示代碼問題。這是一個常見的場景,可能要在輔助角色中執行一些非同步作業。然而,聲明 Run 方法為 async 將導致重新開機在一個無限迴圈中的作用。代碼分析檢測問題,並提供了自動的軟體補丁,重構 Run 方法並將非同步作業移動到另一種方法。

代碼分析與建議的代碼修復
圖 5 代碼分析與建議的代碼修復

並不是所有的代碼問題具有自動修復程式。如果沒有自動的修補程式可提供燈泡功能表將指向描述如何解決此問題的文檔。

NuGet 包中提供的代碼分析規則都只是一組初始的規則旨在展示中新的.NET 編譯器的代碼分析功能。小組收到的回饋,我們將提供更多的規則,並繼續迴圈的經驗。

總結

圖 6 顯示 Azure SDK 2.5 為.NET 的新功能摘要。蔚藍的 SDK 2.5 和Visual Studio2015年預覽使比以往要豐富的雲應用程式開發入門容易得多。

圖 6 的 Azure SDK 2.5.NET 框架中的新功能摘要

Feature Visual Studio 2015 Preview Visual Studio2013年/2012
連接到多個 Azure 帳戶的Visual Studio x  
快速入門範本 x x
雲計算部署專案 x x (Visual Studio2013年只)
添加連接的服務對話方塊 x  
Blob 存儲資源管理器中的資料夾 x x
WebJobs:伺服器資源管理器支援和遠端偵錯 x x
HDInsight:伺服器資源管理器和蜂巢查詢支援 x x
配置企業單一登入 (SSO) x  
診斷程式改進 x x
代碼分析 azure (預覽) x  

如果你不已經有 Azure 的帳戶,您可以報名參加免費的試用版,並開始使用所有討論的功能在這裡。有兩種方式來開始使用 SDK:

  • 安裝本地的 SDK:從 Azure.NET 開發人員中心下載 (bit.ly/1uR4Z5h)
  • 在 Azure 中的 VM 映射:入門 Azure SDK 2.5 的最快方法是使用一個 VM 從 Azure 虛擬機器畫廊。您可以創建一個已裝有一個Visual Studio2015年預覽或Visual Studio社區 2013年圖像的 Azure SDK 2.5 的 VM。這些圖片都是提供給所有的蔚藍客戶。如果你是 MSDN 訂戶,您可以利用更多的Visual Studio2013年圖像基於 Windows 8.1 和 Windows Server 2012 已更新為Visual Studio2013年更新 4 和 Azure SDK 2.5。

這時,您可以訪問 Azure.NET 開發人員中心 (bit.ly/1uR4Z5h) 瞭解更多有關如何構建與它的應用程式。


Saurabh Bhatia 是專案經理,微軟致力於Visual StudioAzure 工具。在此之前,巴蒂亞開發工具為工作辦公室 365 Api 和應用程式為辦公室和 SharePoint。你能聯繫到他在 saurabh@microsoft.com

Mohit Srivastava 是在微軟負責 Azure 和 Web 開發人員工具和服務的領先專案經理。在事先的角色中,他擔任"低堆疊中"核心 Azure 和 Windows 服務和"堆疊中的高級"微博啟動時的創始人之一。你能聯繫到他在 mohisri@microsoft.com

感謝以下的微軟技術專家對本文的審閱:布萊迪胃和Michael沃森
布萊迪胃是對 Azure SDK 和Visual StudioWeb 工具擴展團隊的專案經理。布萊迪的團隊開發用戶端庫和命令列的經驗,使開發人員更易於在雲從命令列中,託管代碼中,並在Visual Studio內方。他涉足 Scala 和其他替代的 JVM 語言,笨拙的.NET 微架構建設小型機器人和硬體原型和假裝是一名音樂家。您可以通過電子郵件在到達布萊迪 bradyg@microsoft.com 或通過 Twitter 在 @bradygaster

邁克沃森是一個程式師作家在微軟。許多年來,他記錄了 Win32 的多媒體 Api。他目前正在寫關於ASP.NET和微軟 Azure。你能聯繫到他在 mwasson@microsoft.com