使用 Azurite 模擬器,開發人員可以快速追蹤基於雲端的應用程式和工具開發,而無需網路連線。
本文提供安裝及執行 Azurite 的說明,以及將其設定為用於本機開發的方式。 如需使用 Azurite 的詳細資訊,請參閱 使用 Azurite 模擬器進行本機 Azure 儲存體開發。
Azurite 取代 Azure 儲存體模擬器,並持續更新以支援最新版本的 Azure 儲存體 API。
安裝 Azurite
Azurite 可以使用各種方法安裝和運行,包括 npm、Docker 和 Visual Studio Code。 這段影片向您展示如何安裝和執行 Azurite 模擬器。
下列各節也會說明影片中的步驟。 選取其中任何一個索引標籤,以檢視與您的環境相關的特定指示。
Azurite 會自動隨 Visual Studio 2022 搭配使用。 Azurite 可執行檔會更新為新 Visual Studio 版本版本的一部分。 如果您執行舊版的 Visual Studio,您可以使用節點套件管理員 (npm)、DockerHub 或複製 Azurite GitHub 存放庫來安裝 Azurite。
執行 Azurite
選取下列任何索引標籤,以檢視與您的環境相關的特定指示。
若要在 Visual Studio 中將 Azurite 與大部分的專案類型搭配使用,您必須先執行 Azurite 可執行檔。 執行檔執行後,Azurite 會監聽來自應用程式的連線請求。 若要深入瞭解,請參閱 從命令列執行 Azurite。
針對 Azure Functions 專案和 ASP.NET 專案,您可以選擇將專案設定為自動啟動 Azurite。 此設定是在專案設定期間完成的。 雖然此專案設定會自動啟動 Azurite,但 Visual Studio 不會公開詳細的 Azurite 設定選項。 若要自訂詳細的 Azurite 設定選項,請在啟動 Visual Studio 之前 執行 Azurite 可執行檔 。
若要深入瞭解如何設定 Azure Functions 專案和 ASP.NET 專案以自動啟動 Azurite,請參閱下列指引:
Azurite 可執行檔位置
下表顯示在 Windows 電腦上執行之不同版本 Visual Studio 的 Azurite 可執行檔位置:
| Visual Studio 版本 | Azurite 可執行檔位置 |
|---|---|
| Visual Studio 社群 2022 | C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator |
| Visual Studio 專業版 2022 | C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator |
| Visual Studio 企業版 2022 | C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator |
從命令列執行 Azurite
您可以在 Visual Studio 安裝的 extensions 資料夾中找到 Azurite 可執行檔,如 Azurite 可執行檔位置資料表中所述。
導航到適當的位置並啟動 azurite.exe。 執行可執行檔之後,Azurite 會監聽連線。
若要深入瞭解設定 Azurite 的可用命令列選項,請參閱 命令列選項。
從 Azure Functions 專案執行 Azurite
在 Visual Studio 2022 中,建立 Azure Functions 專案。 設定專案選項時,請標示為 [ 將 Azurite 用於執行階段儲存體帳戶] 的方塊。
建立專案後,Azurite 會自動啟動。 Azurite可執行檔的位置詳見 Azurite可執行檔位置表。 輸出看起來類似下列螢幕擷取畫面:
稍後可以透過修改專案的 連線服務 相依性來變更此組態選項。
在 ASP.NET 專案中執行 Azurite
在 Visual Studio 2022 中,建立 ASP.NET Core Web App 專案。 然後,開啟 [連線的服務 ] 對話方塊,選取 [ 新增服務相依性],然後選取 [ 儲存體 Azurite 模擬器]。
在 [設定儲存體 Azurite 模擬器] 對話方塊中,將 [連接字串名稱] 欄位設定為 StorageConnectionString,然後選取 [完成]。
設定完成後,選取 [關閉],Azurite 模擬器會自動啟動。 Azurite可執行檔的位置詳見 Azurite可執行檔位置表。 輸出看起來類似下列螢幕擷取畫面:
稍後可以透過修改專案的 連線服務 相依性來變更此組態選項。
命令列選項
本節詳細介紹了啟動 Azurite 時可用的命令列參數。
幫助
選用 - 使用 -h 或 --help 參數取得命令列說明。
azurite -h
azurite --help
監聽主機
選用 - 依預設,Azurite會接聽127.0.0.1作為本機伺服器。 使用 --blobHost 開關根據您的需求設定位址。
僅接受來自本機的請求:
azurite --blobHost 127.0.0.1
允許遠端請求:
azurite --blobHost 0.0.0.0
謹慎
允許遠端請求可能會使您的系統容易受到外部攻擊。
接聽埠配置
選擇性 - 根據預設,Azurite 會接聽埠 10000 上的 Blob 服務。 使用 --blobPort 參數指定您需要的接聽連接埠。
備註
使用自訂埠之後,您必須更新 Azure 儲存體工具或 SDK 中的連接字串或對應設定。
自訂 Blob 服務接聽埠:
azurite --blobPort 8888
讓系統自動選擇可用連接埠:
azurite --blobPort 0
在 Azurite 啟動期間,會顯示目前使用中的連接埠。
工作區路徑
選用 - Azurite 在執行期間將資料儲存至本機磁碟。 使用 -l 或 --location 開關來指定路徑作為工作區位置。 依預設,會使用目前的進程工作目錄。 請注意小寫的“l”。
azurite -l c:\azurite
azurite --location c:\azurite
存取記錄
選用 - 依預設,存取日誌會顯示在主控台視窗中。 使用 -s 或 --silent 開關來停用存取記錄顯示。
azurite -s
azurite --silent
偵錯記錄
選填 - 除錯記錄包含每個請求的詳細資訊,以及例外狀況的堆疊追蹤。 將有效的本機檔案路徑提供給 -d 或 --debug 參數,以啟用偵錯日誌。
azurite -d path/debug.log
azurite --debug path/debug.log
鬆散模式
選用 - 根據預設,Azurite 會套用嚴格模式來封鎖不支援的要求標頭和參數。 使用 -L 或 --loose 參數停用嚴格模式。 請注意大寫字母“L”。
azurite -L
azurite --loose
版本
選用 - 使用 -v 或 --version 開關顯示已安裝的 Azurite 版本號碼。
azurite -v
azurite --version
憑證設定 (HTTPS)
選用 - 依預設,Azurite 會使用 HTTP 通訊協定。 您可以將 Privacy Enhanced Mail (.pem) 或 Personal Information Exchange (.pfx) 憑證檔案的路徑提供給 --cert 參數,以啟用 HTTPS 模式。 若要使用 OAuth 驗證 連線至 Azurite,必須使用 HTTPS。
當為 PEM 檔案提供 --cert 時,您必須提供對應的 --key 參數。
azurite --cert path/server.pem --key path/key.pem
如果為 PFX 檔案提供了 --cert,則必須提供對應的 --pwd 參數。
azurite --cert path/server.pfx --pwd pfxpassword
HTTPS 設定
如需產生 PEM 和 PFX 檔案的詳細資訊,請參閱 HTTPS 設定。
OAuth組態
選用 - 使用交換器啟用 --oauth Azurite 的 OAuth 驗證。
azurite --oauth basic --cert path/server.pem --key path/key.pem
備註
OAuth 需要 HTTPS 端點。 確保通過提供 --cert 交換機和 --oauth 交換機來啟用HTTPS。
Azurite透過向交換器指定basic--oauth參數來支援基本身份驗證。 Azurite 執行基本身份驗證,例如驗證傳入的持有者令牌、檢查發行者、受眾和到期時間。 Azurite 不會檢查權杖簽章或權限。 若要深入瞭解授權,請參閱 使用 SDK 和工具連線至 Azurite。
略過 API 版本檢查
選用 - 啟動時,Azurite 會檢查要求的 API 版本是否有效。 下列命令會略過 API 版本檢查:
azurite --skipApiVersionCheck
停用生產樣式URL
選擇性。 當您在請求 URI 主機中使用完整網域名稱而非 IP 位址時,Azurite 預設會從請求 URI 主機剖析出儲存體帳戶名稱。 您可以使用 --disableProductStyleUrl,強制從要求 URI 路徑中剖析儲存體帳戶名稱:
azurite --disableProductStyleUrl
記憶體內持久性
選擇性。 預設情況下,Blob 和佇列中繼資料會持久化到磁碟,而內容則會持久化到延伸檔案中。 表格儲存體會將所有資料持久保存到磁碟。 您可以停用將任何資料保存到磁碟,而只將資料儲存在記憶體中。 在記憶體內持續性案例中,如果 Azurite 進程終止,則會遺失所有資料。 可以使用下列選項置換預設持續性行為:
azurite --inMemoryPersistence
當啟用以 SQL 為基礎的中繼資料實作(透過 AZURITE_DB),或指定 --location 選項時,此設定會被拒絕。
延伸範圍記憶體限制
選擇性。 根據預設,記憶體內部範圍存放區 (適用於 Blob 和佇列內容) 限制為主機上記憶體總計的 50%。 總計是使用 os.totalmem() 進行評估。 可使用下列選項覆寫此限制:
azurite --extentMemoryLimit <megabytes>
為此選項指定的值沒有限制。 不過,如果限制超過作業系統所提供的可用實體記憶體數量,則可能會使用虛擬記憶體。 上限過高最終可能導致記憶體不足錯誤或效能降低。 未指定 --inMemoryPersistence 時,此選項會被拒絕。
若要深入瞭解,請參閱 使用記憶體內部儲存。
停用遙測收集
選擇性。 預設情況下,Azurite 會收集遙測資料以幫助改進產品。 使用選項 --disableTelemetry 來停用目前 Azurite 執行的遙測資料收集,如下列命令:
azurite --disableTelemetry
後續步驟
- 使用 SDK 和工具連線到 Azurite 說明如何使用各種 Azure 儲存體 SDK 和工具連線到 Azurite。
- 設定 Azure 儲存體連接字串說明如何組成有效的 Azure 儲存體連接字串。
- 使用 Azurite 執行自動化測試 說明如何使用 Azurite 儲存模擬器撰寫自動化測試。
- 使用 Azure 儲存體模擬器進行開發和測試一文說明了舊版 Azure 儲存體模擬器,而該模擬器已由 Azurite 取代。