#mongodb #azure #terraform #azure-cosmosdb
#mongodb #azure #terraform #azure-cosmosdb
Вопрос:
Я использую следующую конфигурацию Terraform для создания пустой базы данных CosmosDB с пропускной способностью, установленной на 400. После этого приложение Spring подключается к базе данных и создает пять коллекций, что увеличивает пропускную способность до 500. Когда я запускаю Terraform в следующий раз, он распознает изменение пропускной способности и хочет выполнить обновление: ~ пропускная способность = 500 -> 400, что вызывает ошибку, ожидающую будущего обновления ввода для базы данных Cosmos Mongo, поскольку этот вид обновления не разрешен. Каким может быть решение для решения этой проблемы, поскольку я не хочу использовать автоматическое масштабирование?
// create a database inside specified Cosmos DB account
resource "azurerm_cosmosdb_mongo_database" "project_db" {
name = "__dbName__"
resource_group_name = azurerm_cosmosdb_account.db_account.resource_group_name
account_name = azurerm_cosmosdb_account.db_account.name
// (optional) provision throughput which can be shared between collections
throughhput = 400
}
Ответ №1:
Решение заключается в использовании ignore_changes, который игнорирует изменения пропускной способности:
// create a database inside specified Cosmos DB account
resource "azurerm_cosmosdb_mongo_database" "project_db" {
name = "__dbName__"
resource_group_name = azurerm_cosmosdb_account.db_account.resource_group_name
account_name = azurerm_cosmosdb_account.db_account.name
// (optional) provision throughput which can be shared between collections
throughput = 400
lifecycle {
ignore_changes = [throughput]
}
}