0

我正在对我的 cosmos db 进行一些测试,我想使用 Cosmos Db 模拟器在本地使用脚本进行设置。我想使用 PowerShell 脚本在 cosmos db 模拟器中使用 PowerShell 创建 Db、容器、填充测试数据,但我在网上找不到任何文档。有人可以指导我或帮助我这样做。到目前为止,我一直遵循这个文档,它允许我使用 PowerShell 启动 CosmosDb 模拟器

4

1 回答 1

1

我想使用 PowerShell 脚本在 cosmos db 模拟器中使用 PowerShell 创建 Db、容器、填充测试数据,但我在网上找不到任何文档。

Microsoft 提供的 PowerShell 模块 ( Az.Cosmos) 仅关注云中的 Cosmos DB 帐户。从 5.8.0 版开始,它不支持 Cosmos DB 模拟器。

幸运的是,有一个可用的社区解决方案可供您使用:https ://github.com/PlagueHO/CosmosDB 。

要为模拟器帐户创建上下文,您必须执行以下操作:

$cosmosDbContext = New-CosmosDbContext -Emulator -Database 'MyDatabase'

获得上下文后,您应该能够创建数据库和容器。例如:

New-CosmosDbDatabase -Context $cosmosDbContext -Id 'MyDatabase' -OfferThroughput 1200

New-CosmosDbCollection -Context $cosmosDbContext -Id 'MyNewCollection' -PartitionKey 'id' -OfferThroughput 50000

该项目最近一次更新是在 6 个月前,所以我不确定它是否具有您正在寻找的所有功能。

其他想法是利用 Cosmos DB .Net SDK 并在您自己的 PowerShell 脚本中使用它。

更新

这就是我所做的:

  1. Admin我在模式下打开了 PowerShell 控制台。
  2. Cosmos使用Install-Module -Name CosmosDB. 我最初收到一个错误(关于未找到模块的问题),我通过将 TLS 命令设置为 1.2 使用[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12.
  3. 然后我使用你的命令启动了模拟器。
  4. 之后,我使用创建了上下文$cosmosDbContext = New-CosmosDbContext -Emulator
  5. 之后,我在我的 Cosmos 模拟器帐户中列出了数据库,并且能够成功地这样做。

在此处输入图像描述

于 2021-05-03T13:28:54.590 回答