我通过连接 Azure 上的 Cosmos DB SQL API 实例来使用 Sring Data Cosmos DB 实现,它工作正常。但我想要一个数据库在 Linux 上本地运行我的集成测试,无论它是不是 Cosmos DB 数据库 (SQL API)。
最初我考虑使用Azure Cosmos DB Emulator Docker Container,但是,我发现它与 Linux 不兼容。所以我想只为本地环境启动一个 H2 内存数据库,但它仍然不起作用,因为 Spring Data Cosmos DB 尝试创建 documentDBTemplate bean,并且由于与 Cosmos DB 没有连接它不会创建 bean,我收到以下错误:
Field myRepository in com.microsoft.azure.sample.controller.MyController required a bean of type 'com.microsoft.azure.spring.data.documentdb.core.DocumentDbOperations' that could not be found.
- Bean method 'documentDbTemplate' not loaded because @ConditionalOnProperty (azure.documentdb.[uri,key]) did not find properties 'uri', 'key'
Microsoft 是否考虑过任何替代方案(Linux / Mac 兼容)来本地运行使用 Cosmos DB 的应用程序?
除了创建运行 Azure Cosmos DB Emulator Docker 容器的 Windows VM 之外,还有其他方法吗?
有什么方法可以让 H2 数据库在本地环境中工作?我正在考虑在本地使用 H2 数据库并在 Azure 环境中使用 Cosmos DB SQL API。