我正在对我的 cosmos db 进行一些测试,我想使用 Cosmos Db 模拟器在本地使用脚本进行设置。我想使用 PowerShell 脚本在 cosmos db 模拟器中使用 PowerShell 创建 Db、容器、填充测试数据,但我在网上找不到任何文档。有人可以指导我或帮助我这样做。到目前为止,我一直遵循这个文档,它允许我使用 PowerShell 启动 CosmosDb 模拟器
问问题
429 次
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 脚本中使用它。
更新
这就是我所做的:
Admin
我在模式下打开了 PowerShell 控制台。- 我
Cosmos
使用Install-Module -Name CosmosDB
. 我最初收到一个错误(关于未找到模块的问题),我通过将 TLS 命令设置为 1.2 使用[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
. - 然后我使用你的命令启动了模拟器。
- 之后,我使用创建了上下文
$cosmosDbContext = New-CosmosDbContext -Emulator
。 - 之后,我在我的 Cosmos 模拟器帐户中列出了数据库,并且能够成功地这样做。
于 2021-05-03T13:28:54.590 回答