#azure-cosmosdb-sqlapi #azure-bicep
Вопрос:
Я развертываю Космос с помощью шаблонов бицепсов. В основном все параметризовано. Мы нашли способ развертывания нескольких хранимых процедур, описанных ниже.
Определите массив в бицепсе
param storedProcedureData array = []
затем в разделе ресурсов выполните цикл вокруг данных:
resource cosmosStoredProcedures 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures@2021-06-15' = [for storedProcedure in storedProcedureData: {
parent: cosmosSQLContainers
name: storedProcedure.name
properties: {
resource: {
id: storedProcedure.name
body: storedProcedure.body
}
}
}]
У меня есть файл json с кодом хранимой процедуры примерно в таком виде:
[
{
"name": "sp1",
"body": "function sp1 etc"
},
{
"name": "sp2",
"body": "function sp2 etc"
}
]
и назовите это так из powershell, используя команды az:
az deployment group create --resource-group rgname `
--name testdeployment `
--template-file "C:GitHubbicepcosmosdbmain.bicep" `
--parameters "C:GitHubbicepcosmosdbcosmosMain.parameters.json" `
--parameters storedProcedureData=$storedProcedureData
где данные хранимой процедуры являются переменной:
$storedProcedureData=(Get-Content "C:GitHubbicepcosmosdbstoredproc.json")
Вопрос в том — есть ли лучший способ!!! И что, если у меня есть несколько контейнеров …