使用 Visual Studio 進行 Azure 開發

如果您使用雲端服務來處理許多將以其他方式實作的問題,則應用程式開發可能會更容易。 使用 Azure 雲端中裝載的雲端服務時,您會使用由 Microsoft 管理的可靠且高可用性的雲端環境,來處理許多應用程式和服務所需的大部分基礎結構,以便您可以將開發工作專注於應用程式特有的項目上。

在本文中,您將了解 Visual Studio 如何協助進行 Azure 開發,不論您是要啟動並執行網站、連線到儲存體、資料庫、祕密管理等服務,還是使用快取等加值服務。

許多 Visual Studio 訂用帳戶都包含 Azure 個人開發/測試點數。 Visual Studio 訂閱者可以使用這些點數,免費試用各項 Azure 服務。 如果您不是訂閱者,而且沒有 Azure 訂用帳戶,則可以建立免費帳戶

將 Web 應用程式裝載在 Azure 中,就能動態橫向擴展以服務大量並行使用者,而不會讓有限的基礎結構超載運作。 將 Web 應用程式裝載在 Azure 中,可讓您充分利用 Azure 平台提供的豐富服務生態系統。 您可以使用豐富的服務 (例如應用程式服務) 或適用於容器化應用程式的 Azure 容器應用程式,更輕鬆地管理您的應用程式。

您可以將內部部署應用程式連結至 Azure,以享有特定 Azure 服務的優勢,例如 Blob 儲存體、裝載在 Azure 中的資料庫、App Insights 監控和身分識別管理等。

Visual Studio 提多許多功能,可讓您更輕鬆地開發連線至 Azure 服務的應用程式,或自主部署至 Azure 並裝載於 Azure 雲端的應用程式。 Visual Studio 提供多項機制,可讓您在初始開發階段更輕鬆地連線至各項服務,並將應用程式輕鬆發佈或部署至 Azure;此外,您還可以使用本機電腦上的 Visual Studio 偵錯工具連線到 Azure 應用程式,以享有與本機偵錯一樣簡易的雲端應用程式偵錯體驗。

支援的技術和語言

使用 Visual Studio,您可以開發在 Azure 雲端中執行的應用程式,以及從內部部署、傳統型和行動應用程式連線到 Azure 服務的應用程式。 Visual Studio 是功能最齊全、最完整的環境,可供 Windows 開發人員將 .NET 和 ASP.NET 應用程式連線到 Azure 服務。 Visual Studio 也支援在其他技術堆疊 (例如 Node.js 和 Python) 中開發,您可以使用這些技術堆疊建立網站和 Web 應用程式,然後使用 Azure CLI 將其部署至 Azure。

C++ 開發人員可以使用 C++ 用戶端程式庫存取 Azure 儲存體等 Azure 服務,而使用 C 和 C++ 的 IoT 裝置開發人員則可以將裝置和服務連線到 Azure。 請參閱以 Visual C++ 進行雲端和 Web 程式設計

許多舊版 Visual Studio 中支援的 Azure 雲端服務使用者,可以使用 Azure 雲端服務 (延伸支援),在 Visual Studio 中繼續使用這些服務。

連線到 Azure 服務

當您想要在應用程式中使用 Azure 服務時,通常需要對您的專案進行多項變更,例如套件參考、程式碼變更和設定變更,以及在 Azure 中進行許多變更,以指定要連線的服務,或如果這些服務不存在,請加以建立。 Visual Studio 會根據您提供的資訊,在您的專案和 Azure 中進行這些變更,協助讓此流程變得更容易。 Visual Studio 也會提供所有變更的清單,以便您可以檢查這些變更,並完全了解已變更了什麼。

Visual Studio 連線服務是逐步精靈的名稱,您可以使用這些精靈,將專案 (Web 和內部部署) 連線至 Azure 服務。 若要深入了解您可以從 Visual Studio 連線和管理的 Azure 服務,請參閱關於 Visual Studio 連線服務

當完成連線服務精靈時,您可以直接從 Visual Studio IDE 執行所有必要的 Azure 作業。 您可以不使用 Azure 入口網站,而是可在 Azure 中佈建資源、建立資源群組、瀏覽和檢視 Azure 資源,以及部署您的應用程式和服務。 一旦您的專案連線至 Azure 服務或部署,[連線服務] 索引標籤就會顯示資源的相關資訊,並包含部署的便利連結。 請參閱在 Visual Studio 中使用 Azure

將您的應用程式部署至 Azure 雲端

使用 Visual Studio,您可以視需要透過按一下按鈕將應用程式部署至 Azure。 這種便利性在可能尚未設定 CI/CD 的開發和測試期間很好用。 CI/CD (持續整合和持續交付 (CI/CD)) 系統會將開發團隊對應用程式碼所做的本機變更自動整合至正在 Azure 中執行的已部署應用程式中,不會造成已部署的服務中斷。 您可以使用 Azure PipelinesGitHub Actions 進行此設定。

您正在部署什麼?

部署目標 文件
Azure App Service (.NET Core) 部署 ASP.NET Core Web 應用程式
Azure App Service (.NET Framework) 部署 ASP.NET web app (.NET Framework)
Azure 容器應用程式 使用 Visual Studio 部署至 Azure 容器應用程式
Azure Functions 使用 Visual Studio 在 Azure 中建立您的第一個 C# 函式
Azure Container Registry 使用 Visual Studio 將 ASP.NET 容器部署到容器登錄

如果您第一次設定 GitHub 存放庫的 CI/CD 時需要協助,Visual Studio 可協助您開始使用 GitHub Action 入門工作流程。 若要深入了解,請參閱使用 Visual Studio 所建立的 GitHub Actions 工作流程將應用程式部署至 Azure。 若要深入了解如何設定 CI/CD 以部署至 Azure,請參閱持續部署至 Azure App Service

使用 Visual Studio 在 Azure 中進行偵錯

當應用程式在 Azure 中執行時,您可以使用 Visual Studio 進行偵錯,以便在與生產環境盡可能接近的環境中識別並重現問題。 針對裝載於 Azure App 服務中的 Web 應用程式,請參閱在 Azure App Service 上對 ASP.NET Core 進行遠端偵錯。 針對 Azure Functions,請參閱使用 Visual Studio 開發 Azure Functions - 遠端偵錯

如果您使用虛擬機 (VM) 裝載 ASP.NET Core Web 應用程式,請參閱從 Visual Studio 使用 Azure VM 在 IIS 上遠端偵錯 ASP.NET Core

使用整合式 Azure 功能

在 Azure 雲端中執行時,應用程式可以受益於 Azure 的高可用性標準、擴大擴增功能、監視負載測試,以及其他優點。 Visual Studio 會與遠端偵錯、檢視記錄等 Azure 功能整合。

藉助本機模擬支援節省成本

在開發階段,為了方便和節省成本,您可以使用 Azure 服務的本機模擬器進行實驗和開發,稍後再部署到 Azure。 若要深入了解,請參閱本機和連線的設定

Docker 支援

您也可以使用 Docker,將您的應用程式和服務容器化。 使用 Docker 容器可為執行中的應用程式提供一致且可重現的作業系統和環境。 Visual Studio 會在偵錯容器時提供相同的熟悉體驗,協助您在本機監視和管理容器的生命週期,以及可以將您的容器部署至容器登錄

一旦將應用程式容器化,使用 Azure App ServiceAzure 容器應用程式等服務便可輕鬆地將容器部署至 Azure。

將應用程式連線至 Azure 儲存體和資料庫服務

使用 Azure 儲存體可以更輕鬆地管理檔案和資料,而 Azure 儲存體是一種高可用性、可大幅調整規模、持久且安全的儲存體,適用於雲端中的各種資料物件。 您可以使用 Azure 儲存體來儲存所有內容,並使其可供您的網站、傳統型應用程式或行動應用程式使用。

Azure 也提供許多不同的資料服務,適合不同的需求,從為了可輕鬆地從內部部署 SQL Server 進行轉換所建立的雲端裝載式 SQL Database,到可擴大以符合最大需求的巨量資料解決方案。

連線到 Azure 儲存體

  • 儲存和擷取 Blob
  • 管理檔案
  • 使用佇列實作傳訊
  • 管理結構化 NoSQL 資料

若要深入了解,請參閱 Azure 儲存體,並了解如何使用 Visual Studio 連線至 Azure 儲存體

連線至資料庫

連線至 Azure SQL Database 和其他 Azure 資料庫供應項目 (例如 Azure Cosmos DB) 就像連線至本機 SQL Server 一樣容易。 如需詳細資訊,請參閱 資料庫和資料提供者

連線至 Web 和資料服務

資料提供者會透過開放式資料通訊協定 (OData) 和 gRPC 等標準通訊協定使服務可供使用。 您可以連線至這些服務,或如果您自行建立 Web 服務,則可以選擇 ASP.NET Web API、Azure Functions 或 Azure API 管理,並新增這些連線。 如需支援的服務和通訊協定清單,以及如何連線至其中,請參閱將您的應用程式連線至 gRPC、OpenAPI 和 WCF 端點

ASP.NET Core Web 應用程式案例

ASP.NET Core 為簡單的網站和複雜的 Web 應用程式提供完整解決方案。 Azure 服務可協助符合許多需求,並解決網站和 Web 應用程式開發中出現的許多挑戰。 ASP.NET Core Web 應用程式經常使用用戶端 JavaScript。

Web 應用程式範例架構的圖表。

連線至 Azure Cache for Redis

Azure Cache for Redis 為 Azure 服務、網站和 Web 應用程式提供記憶體內部資料存放區。 您可以使用 Azure Cache for Redis 作為分散式資料或內容快取、工作階段存放區、訊息代理程式等等。 支援的案例包括:

  • 快取來自 API 的資料 (藉此減少 API 呼叫)
  • 快取輸出 (這可以減少 CPU 使用量)
  • 快取工作階段狀態

若要深入了解,請參閱什麼是 Azure Cache for Redis?,或以使用 Visual Studio 連線服務連線至 Azure Cache for Redis 開始。

驗證使用者

大部分的網站都需要某種使用者管理和驗證機制,這是網站特有的,或是使用者具有現有帳戶與其搭配的識別提供者所提供。 Azure App Service 中支援內建的使用者驗證。 若要深入了解,請參閱 Azure App Service 和 Azure Functions 中的驗證和授權,並以將應用程式驗證新增至在 Azure App Service 上執行的 Web 應用程式開始。 Microsoft Entra ID (先前稱為 Azure Active Directory) 是一種功能齊全的雲端型身分識別管理服務。 若要深入了解,請參閱什麼是 Microsoft Entra

支援的驗證提供者包括:

  • 社交帳戶:Facebook、Google、Microsoft 帳戶和其他
  • Microsoft Entra 帳戶 (來自單一租用戶)
  • Microsoft Entra 帳戶 (來自多個不同的租用戶)

若要了解如何在您的應用程式中開始使用這些服務,請參閱使用 Visual Studio 中的 [已連線的服務] 來連線至 Microsoft Entra ID

應用程式設定

部署至 Azure 的 ASP.NET Web 應用程式可能需要設定所有環境 (測試、使用者接受度測試 (UAT)、生產前和生產)。 您可以透過 Azure 應用程式組態來管理此組態。 若要了解如何將您的應用程式連線至 Azure 應用程式組態,請參閱使用 Visual Studio 連線服務連線至 Azure 應用程式組態

祕密管理

安全儲存密碼和其他祕密 (例如 API 提供者的資料庫和權杖存取金鑰) 是 Azure Key Vault 提供安全解決方案的常見問題。 您可以使用 Azure Key Vault,為 Azure 中執行的應用程式儲存祕密,也可以在開發期間,使用 Azure 中的金鑰保存庫,或本機存放區 (secrets.json) 進行本機執行、測試和偵錯。 在對雲端沒有任何相依性的設計和開發期間開始,但接著會在不中斷的情況下轉換至測試與生產的後續階段。 若要深入了解,請參閱 Azure Key Vault,並以使用 Visual Studio 連線服務將 Key Vault 連線至 Web 應用程式開始。

使用 Entity Framework 進行資料移轉

Visual Studio 可協助解決開發應用程式並在本機變更資料庫,然後與 Azure 中生產資料庫同步的問題。

如果 ASP.NET Web 應用程式使用 Azure SQL Database 和 Entity Framework,在您對資料庫進行本機變更時,可以使用 Entity Framework 移轉,以結構化方式將這些結構描述變更和資料變更推送至 Azure。 請參閱 Entity Framework 移轉

背景工作服務

ASP.NET Web 應用程式可以受益於執行中的背景工作服務。 在現有的 App Service 執行個體上執行背景工作服務不需要額外費用,而且其可以直接取代您可能在內部部署或虛擬機器中執行的 Windows 服務。 請參閱 .NET 中的背景工作服務

其他 Web 應用程式技術

使用 JavaScript 和 Python 的開發人員可以使用 Visual Studio 或 Visual Studio Code 進行 Azure 開發。 使用任一個開發環境,安裝 Azure CLI 並遵循 Azure CLI 文件中的教學課程,並在協助您手動新增連線程式碼的每個 Azure 服務文件中尋找快速入門和教學課程。

Node.js 為使用伺服器端 JavaScript 進行 Web 應用程式開發提供了另一個選項。 若要深入了解,請參閱何謂 Azure for JavaScript 開發人員。以在 Azure 中部署 Node.js Web 應用程式開始。

Python 是日益熱門的語言,使用 Web 架構 Django 和 Flask 時,此語言是開發 Web 應用程式的另一種方式。 請參閱在 Azure 上開始使用 Python

本節可協助您了解哪些 Azure 服務可能有用。 首先逐步完成這些快速入門,其中會向您展示如何使用 Visual Studio 作為開發工具。 這些連結會帶您進入每個 Azure 服務的文件,從適用於 Visual Studio 使用者的頁面 (如有提供) 開始。

如果您不確定哪個 Azure 服務可能最符合您的需求,請嘗試 Azure App Service

觸發程序是您設定的事件,會在符合特定條件時執行程式碼。 觸發程序可根據計時器進行排程,也可以設定為根據佇列中的訊息、其他 Azure 服務中的事件或 Webhook 進行回應。 如果您需要觸發程序,請嘗試 Azure Functions

如果您需要簡便的容器,請嘗試 Azure 容器應用程式

如果您需要進階容器,請嘗試 Azure Kubernetes Service

如果您想要在 API 頂端新增控制項,請嘗試 Azure API 管理

如果您想要支援多個長用戶端連線,請嘗試 Azure SignalR Service

如果您正在開發複雜的分散式應用程式,並需要在許多服務之間進行協調,請嘗試使用 .NET Aspire

下一步

若要深入了解您可能感興趣的 Azure 服務,請參閱 Azure 服務

前往 Azure 架構中心取得 Azure 開發架構建議。

如需執行 Azure 雲端服務相關作業,請參閱 Azure 雲端服務 - 延伸支援