我正在使用Terraform在Azure中使用Mongo API来构建Cosmos数据库,但无法弄清楚一旦构建后如何返回或输出连接字符串。
我已经构建了多个Cosmos DB,但是找不到有关如何输出连接字符串的任何资料。我正在使用模块来构建调用我的main.tf和variable.tf的资源。如果我知道要在output.tf文件中放入什么内容,则可以将其放入其中,以便我的模块可以利用它。
模块{ 可变输入 }
我没有任何错误消息可发布,因为我不知道如何调用连接字符串。我确实解析了Azure Provider,并从Mongo DB Cosmos部分发布了JSON图片。下面的JSON图片: ![来自Azure TF提供程序的Mongo Cosmos DB JSON] https://i.imgur.com/VwtkpiR.png
答案 0 :(得分:0)
您需要从CosmosDB Account中读取数据。它包含一个connection_strings
数组。´看起来应该像这样:
// Look for this
resource "azurerm_cosmosdb_account" "cosdb"{
...
}
output "cosmosdb_connectionstrings" {
value = azurerm_cosmosdb_account.cosdb.connection_strings
sensitive = true
}
您还可以使用字符串插值通过组合主键和端点来构建连接字符串。如果您不使用Terraform管理帐户,这也可以使用。您可以使用CosmosDB Data Source来访问密钥。
data "azurerm_cosmosdb_account" "cosdb" {
name = "${var.cosmosdbname}"
resource_group_name = "${var.cosmosdbresourcegroupname}"
}
output "cosmosdb_connectionstrings" {
value = ${data.azurerm_cosmosdb_account.cosdb.endpoint};AccountKey=${data.azurerm_cosmosdb_account.cosdb.primary_master_key};"
sensitive = true
}