Пропускная способность CosmosDB увеличивается автоматически, что приводит к сбою последующих запусков Terraform

#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]
     }
}