问题标签 [azure-cosmosdb-emulator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
44 浏览

azure-cosmosdb-emulator - 自动化 CosmosDB 模拟器设置

我想创建脚本来准备具有所有数据库、容器和索引策略的 dev CosmosDB 模拟器。有没有办法做到这一点?

我看到有一些 PowerShell commandlet,但它们仅用于管理任务。Cosmos Db CLI 似乎也没有任何所需的功能。

0 投票
2 回答
194 浏览

azure-cosmosdb - 如何将数据导入 cosmos db 模拟器

我有一个带有 3 或 4 个集合的开发和 qa Azure Cosmos Db 数据库。我希望能够对这些数据进行快照并将其复制到本地,以便我可以将其用于通过 Cosmos Db 模拟器进行本地开发。我看过数据迁移工具,虽然它确实提到了从模拟器复制,但没有提到你是否可以复制到模拟器。有谁知道它或其他工具是否可以从 Azure Cosmos Db 复制到本地模拟器,如果可以,是否有任何特殊步骤可以这样做?或者有没有更简单的方法来导出 cosmos 集合,以便我可以在本地导入它们?我刚刚尝试并收到错误“正在使用传输协议或密码中的禁止加密进行请求。我尝试了所有 3 种连接模式。

谢谢!

在此处输入图像描述

0 投票
1 回答
54 浏览

azure-cosmosdb - Cosmos DB 命令行工具,用于将 json 文档加载到容器中

我们需要使用一些静态 json 文件预填充 Cosmos DB 容器。这是本地开发人员 Cosmos DB 模拟器环境以及 Azure DevOps 部署的要求。理想情况下,这两种情况当然会使用相同的方法。

我想的一种方法是在我们的 git 存储库中拥有静态 json 文档,并拥有一个 dotnet 核心命令行工具,该工具将连接到 Cosmos DB 并将一个或多个文档插入到指定的 DB 和容器中,每次调用控制台应用程序.

我发现这个工具看起来很合适:

但是,它针对 .NET Framework 4.5,因此我们的 Mac 和 Linux 开发人员无法轻松使用。因此,一种选择是尝试将该工具迁移到 dotnet 核心。

我还发现了这些看起来相关的 bash 脚本:

即 Windows 用户可以使用 WSL 来运行这些。

但是,我认为 dotnet 核心控制台应用程序将是这里的理想解决方案。这似乎是一个显而易见的简单工具,所以想知道那里是否已经有任何东西。

或者,也许我以错误的方式思考这个问题?

0 投票
1 回答
42 浏览

azure - 启动 Cosmosdb Emulator 时如何传递 2 个参数?

我想测试 Patch API,我按照github上的文档用 Emulator 测试 Patch API,

效果很好,但是当我开始插入项目时,它会引发错误,

抱歉,我们目前在该地区的需求量很大,目前无法满足您的要求。

我遇到了这篇文章,我如何在启动模拟器时同时运行这个命令和上面的命令?

0 投票
1 回答
23 浏览

linux - Ubuntu 上 CosmosDB 的 CRT 证书不起作用

我按照这些说明在 Ubuntu 18.04 上的 docker 上运行 CosmosDB 模拟器。

但是,我似乎无法让 SSL 证书正常工作。即使按照教程中的具体说明进行操作,我仍然会从 Firefox 和 Chrome 中获得“潜在的安全风险”。

如何解决?

0 投票
0 回答
14 浏览

spring - 在 Spring 中设置 Azure CosmosEmulator 时出错

我正在按照https://www.baeldung.com/spring-data-cosmos-db 中的步骤将我的 spring 项目连接到 Azure cosmosDB Emulator

我有模拟器在本地运行 在此处输入图像描述

但是我正在运行

看起来像这个天蓝色依赖的一些内部依赖问题

我在https://github.com/yatw/SpringCosmosEmulator中建立了一个带有完整堆栈跟踪的错误演示项目

请给我一个解释,谢谢!

0 投票
0 回答
40 浏览

azure - 在 Docker 上启用 Azure CosmosDB 模拟器 Gremlin

我已经为此奋斗了一段时间。

设想

我们在项目中使用 Cosmos SQL API 和 Cosmos Graph (Gremlin)。很长一段时间以来,我们在开发图形数据库时都被迫使用 Azure 资源。

我希望为 LDE 摆脱这个并使用mcr.microsoft.com/cosmosdb/windows/azure-cosmos-emulator:latest图像在 docker 中运行 Azure CosmosDB 模拟器。使用 docker 的原因是我们有一些来自 IT 公司的奇怪政策,这使得即使是 SQLAPI 也无法让 Azure Cosmos DB Emulator 正常工作。SQL Api 与 docker 映像配合得很好。我正在运行 docker compose。

经过一番调查,我发现该图像实际上并没有寻找要设置的AZURE_COSMOS_EMULATOR_GREMLIN_ENDPOINT:true等环境变量。这是在调查容器中的C:/CosmosDB.Emulator/Start.ps1之后。所以我想我可以通过简单地替换容器中的 Start.ps1 来解决这个问题,停止它,并将其作为新图像提交。

哪个有效!然后我创建了一个用于复制手动步骤的脚本,这样我的团队就不必执行相同的程序。现在它无法正常工作,SQLAPI 和 Azure Cosmos DB Explorer 工作完美,但我无法通过端口 8901 连接 Gremlin,至少一次。

我已经确认在容器启动期间执行的 Start-CosmosDbEmulator 命令设置了 -EnableGremlin 标志。但没有运气,我只是得到:

有没有人有这两个工作?我无法弄清楚问题是什么。

这是我尝试/做过的:

  • 证书被导入并且 https://localhost:8081/_explorer/index.html 是可信的。
  • docker-compose 文件中的端口设置是标准的。
  • 我试图用docker run启动容器,但没有运气。
  • 我 100% 确定启动命令是使用 -EnableGremlin 集运行的。由于脚本日志文件和调查容器中的 Start.ps1 文件。
  • 容器中的 computemachine.config 具有容器管理员用户的“IsGremlinEndpointEnabled”:true。
  • 我使用标准密钥通过 localhost:8901 连接,并创建数据库和容器/集合。
  • 使用 SQLAPI 进行查询可以找到。
    • 注意:当我让它与 Gremlin API 功能一起工作时,它运行良好。

码头工人撰写

我没有删除似乎根本没有任何用途的环境变量。但是,如果这对我无法或尚未在容器内调查的代码有任何影响,我已经尝试将它们删除几次。

成绩单日志

我希望有人能在这里为我指明正确的方向。也许解决方案是完全跳过这一点,并接受这样一个事实,即我必须在 Azure 中创建集合并针对图形数据库进行处理。

非常感谢任何建议。

0 投票
0 回答
28 浏览

azure - 在 Azure Devops Pipeline 中加速 Azure Cosmos DB 模拟器任务组

我已按照此处的指南进行操作,并且正在使用 Azure DevOps 管道中的 Azure Cosmos DB Emulator 任务组来成功运行我的集成测试。

请参阅此处了解我的管道是如何设置的

每次运行大约需要 20 分钟来下载模拟器时,就会出现问题。这意味着多次推送到分支加上合并构建可能会占用大量时间/资源。

有人知道是否/如何可以加快速度吗?我想我真正想做的是缓存任务组每次下载的模拟器图像。然而,它似乎总是最新的。