我使用ARM模板创建了Azure Cosmos DB。但是使用ARM模板,您无法在cosmos db中创建默认集合以及数据库。
我有多个Cosmos DB帐户,对于每个我要使用数据库创建一个Azure Cosmos DB的帐户,还要在其中插入一些虚拟记录。
因此,谁能建议我如何编写PowerShell脚本以在每个Azure Cosmos DB中与数据库一起创建Default集合。
答案 0 :(得分:1)
请参考以下powershell脚本在cosmos db中使用数据库创建集合:
$primaryKey = ConvertTo-SecureString -String '<your connectString>' -AsPlainText -Force
$cosmosDbContext = New-CosmosDbContext -Account 'jaygongcosmos' -Database 'db' -Key $primaryKey
New-CosmosDbCollection -Context $cosmosDbContext -Id 'MyNewCollection' -OfferThroughput 2500
关于插入虚拟文档:
0..9 | Foreach-Object {
$document = @"
{
`"id`": `"$([Guid]::NewGuid().ToString())`",
`"content`": `"Some string`",
`"more`": `"Some other string`"
}
"@
New-CosmosDbDocument -Context $cosmosDbContext -CollectionId 'MyNewCollection' -DocumentBody $document
}
更多详细信息,请参阅此article。
对于多个帐户,请使用以下代码:
$array= '<your cosmos db account name>',.......
foreach($item in $array){
$key = Get-CosmosDbAccountMasterKey -Name $item -ResourceGroupName 'jaygong'
$cosmosDbContext = New-CosmosDbContext -Account $item -Key $key
New-CosmosDbCollection -Context $cosmosDbContext -Id 'Mytest1' -OfferThroughput 2500 -Database 'db'
}