什么是 Azure Cosmos DB 仿真器?

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 验证等不良做法。 有关详细信息,请参阅导入证书

下一步