什么是 Azure Cosmos DB 仿真器?

Azure Cosmos DB 仿真器提供了专为开发设计,可模拟 Azure Cosmos DB 服务的本地环境。 使用仿真器,可以在本地开发和测试应用程序,而无需创建 Azure 订阅且不会产生任何服务费用。 如果对应用程序在仿真器中的工作情况感到满意,则可以转换为使用冲突最小的 Azure Cosmos DB 帐户。

重要

不建议将仿真器用于生产工作负载。

提示

有关生成新应用的最新示例,请访问我们的新示例库

仿真器和云服务之间的差异

仿真器可在开发人员工作区上提供一个环境,该环境无法模拟 Azure Cosmos DB 服务的各个方面。 下面是仿真器与等效云服务之间在功能方面的一些主要差异。

重要

Linux 模拟器目前不支持在 Apple 硅系列或 Microsoft ARM 芯片上运行的开发人员计算机。 临时解决方法是安装 Windows 虚拟机并在该平台上运行模拟器。

或者,可以使用新的基于 Linux 的 Azure Cosmos DB 模拟器(预览版)

  • 仿真器的“数据资源管理器”窗格仅在 API for NoSQL 和 API for MongoDB 中受支持。
  • 仿真器仅支持预配的吞吐量。 仿真器不支持无服务器吞吐量。
  • 仿真器在启动时使用已知密钥。 无法为正在运行的仿真器重新生成密钥。 要使用不同的密钥,必须使用指定的自定义密钥启动仿真器
  • 无法跨地理区域或多个实例复制仿真器。 仅支持仿真器的单个正在运行的实例。 无法横向扩展仿真器。
  • 理想情况下,模拟器最高支持 10 个固定大小的容器(400 RU/秒)或 5 个无限制大小的容器。 从理论上讲,可以创建更多容器,但模拟器的性能会降低。
  • 仿真器仅支持会话一致性级别。 仿真器不是可缩放的服务,并且实际上不会实现一致性级别。 仿真器仅出于测试目的标记已配置的一致性级别。
  • 仿真器会将项的唯一标识符限制为 254 个字符。
  • 仿真器支持每个查询最多五个 JOIN 语句。

仿真器的功能可能落后于云服务新功能的步伐。 云服务中可能会推出一些新功能和更改,在仿真器中提供之前会有一小段时间的延迟。

身份验证

必须通过 TLS/SSL 使用密钥对向仿真器发出的每个请求进行身份验证。 仿真器附带了配置为使用已知身份验证密钥的单个帐户。 默认情况下,这些凭据是唯一允许用于仿真器的凭据:

终结点 localhost:8081
C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
连接字符串 AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;

提示

使用 Windows(本地)仿真器,还可以自定义仿真器所使用的密钥。 有关详细信息,请参阅 Windows 仿真器参数

导入仿真器证书

在某些情况下,你可能希望将 TLS/SS 证书从仿真器的运行容器手动导入主机。 此步骤可避免在 SDK 中禁用 TLS/SSL 验证等不良做法。 有关详细信息,请参阅导入证书

下一步