Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
使用 Azurite 模拟器,开发人员无需 Internet 连接即可快速跟踪基于云的应用程序和工具开发。
本文提供有关安装和运行 Azurite 的说明,以及为本地开发配置它。 有关使用 Azurite 的详细信息,请参阅使用 Azurite 模拟器进行本地 Azure 存储开发。
Azurite 取代 了 Azure 存储模拟器,并继续更新以支持最新版本的 Azure 存储 API。
安装 Azurite
可以使用各种方法安装并运行 Azurite,包括 npm、Docker 和 Visual Studio Code。
Azurite 在 Visual Studio 2022 中自动可用。 Azurite 可执行文件作为新的 Visual Studio 版本的一部分进行更新。 如果运行的是 Visual Studio 的早期版本,则可以使用 Node 包管理器(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 Community 2022 | C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator |
Visual Studio Professional 2022 | C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator |
Visual Studio Enterprise 2022 | C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator |
从命令行运行 Azurite
可以在 Visual Studio 安装的扩展文件夹中找到 Azurite 可执行文件,如 Azurite 可执行文件位置表中所述。
导航到相应的位置并启动 azurite.exe
。 运行可执行文件后,Azurite 将侦听连接。
若要了解有关配置 Azurite 的可用命令行选项的详细信息,请参阅 命令行选项。
从 Azure Functions 项目运行 Azurite
在 Visual Studio 2022 中,创建 Azure Functions 项目。 设置项目选项时,将标记为 “使用 Azurite 用于运行时存储帐户”的框进行标记。
创建项目后,Azurite 会自动启动。 Azurite 可执行文件的位置在 Azurite 可执行文件位置表中详细介绍。 输出类似于以下屏幕截图:
以后可以通过修改项目的 Connected Services 依赖项来更改此配置选项。
从 ASP.NET 项目运行 Azurite
在 Visual Studio 2022 中,创建 ASP.NET 核心 Web 应用 项目。 然后,打开 “连接服务 ”对话框,选择 “添加服务依赖项”,然后选择“ 存储 Azurite 模拟器”。
在“ 配置存储 Azurite 模拟器 ”对话框中,将 “连接字符串名称 ”字段设置为 StorageConnectionString
“ 完成”。
配置完成后,选择“ 关闭”,Azurite 模拟器会自动启动。 Azurite 可执行文件的位置在 Azurite 可执行文件位置表中详细介绍。 输出类似于以下屏幕截图:
以后可以通过修改项目的 Connected Services 依赖项来更改此配置选项。
命令行选项
本部分详细介绍了启动 Azurite 时可用的命令行开关。
Help
可选 - 使用 -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 协议。 可以通过向交换机提供隐私增强邮件(.pem)或 个人信息交换(.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 主机分析存储帐户名称。 可以使用以下命令从请求 URI 路径 --disableProductStyleUrl
强制分析存储帐户名称:
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 取代。