用于在每个Azure Cosmos数据库帐户中创建集合以及数据库的PowerShell脚本

时间:2019-01-18 05:55:50

标签: azure powershell azure-cosmosdb azure-cosmosdb-sqlapi

我使用ARM模板创建了Azure Cosmos DB。但是使用ARM模板,您无法在cosmos db中创建默认集合以及数据库。

我有多个Cosmos DB帐户,对于每个我要使用数据库创建一个Azure Cosmos DB的帐户,还要在其中插入一些虚拟记录。

因此,谁能建议我如何编写PowerShell脚本以在每个Azure Cosmos DB中与数据库一起创建Default集合。

1 个答案:

答案 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'

}