Azure Cosmos DB模拟器提供了一个模拟Azure Cosmos DB服务的本地环境,旨在用于开发目的。 无需创建Azure订阅或产生任何服务费用,即可将其用于本地开发和脱机测试。 当你对应用程序在模拟器中的运行效果感到满意后,就可以非常顺畅地过渡到使用 Azure Cosmos DB 帐户。
重要
不建议将仿真器用于生产工作负载。
提示
有关生成新应用的最新示例,请访问我们的新示例库
仿真器和云服务之间的差异
仿真器可在开发人员工作区上提供一个环境,该环境无法模拟 Azure Cosmos DB 服务的各个方面。 下面是仿真器与等效云服务之间在功能方面的一些主要差异。
重要
基于 Linux 的仿真器不支持在 Apple silicon 或 Microsoft ARM 芯片上运行的开发人员计算机。 临时解决方法是安装Windows虚拟机,并在该平台上运行Windows本地模拟器。
或者,可以使用基于 Linux 的新Azure Cosmos DB模拟器。
- 仿真器的“数据资源管理器”窗格仅在 API for NoSQL 和 API for MongoDB 中受支持。
- 仿真器仅支持预配的吞吐量。 仿真器不支持无服务器吞吐量。
- 仿真器在启动时使用已知密钥。 无法为正在运行的仿真器重新生成密钥。 要使用不同的密钥,必须使用指定的自定义密钥启动仿真器。
- 仿真器无法跨地域或跨多个实例进行复制。 仅支持同时运行一个仿真器实例。 无法横向扩展仿真器。
- Windows本地模拟器最多支持 10 个固定大小的容器,其大小为 400 RU/秒或 5 个无限制大小的容器。 可以创建更多容器,但性能可能会降低。
- Windows本地模拟器支持会话和强一致性级别。 它不实现一致性级别,并且仅标记配置的级别以供测试。
- Windows本地模拟器将项的唯一标识符限制为 254 个字符。
- 仿真器支持每个查询最多五个
JOIN语句。
仿真器的功能可能落后于云服务新功能的步伐。 云服务中可能会推出一些新功能和更改,在仿真器中提供之前会有一小段时间的延迟。
身份验证
必须通过 TLS/SSL 使用密钥对向仿真器发出的每个请求进行身份验证。 仿真器附带了配置为使用已知身份验证密钥的单个帐户。 默认情况下,这些凭据是唯一允许用于仿真器的凭据:
| 值 | |
|---|---|
| 终结点 | localhost:8081 |
| 键 | C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== |
| 连接字符串 | AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==; |
提示
使用 Windows(本地)仿真器,还可以自定义仿真器所使用的密钥。 有关详细信息,请参阅 Windows 仿真器参数。
导入仿真器证书
在某些情况下,可能需要将模拟器正在运行的容器中的 TLS/SSL 证书手动导入主机。 此步骤可避免在 SDK 中禁用 TLS/SSL 验证等不良做法。 有关详细信息,请参阅导入证书。