azure - 如何使用 Terraform 输出 Cosmos DB 连接字符串
问题描述
我正在使用 Terraform 在 Azure 中使用 Mongo API 构建 Cosmos DB,但无法弄清楚在构建后如何返回或输出连接字符串。
我已经构建了几个 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
解决方案
您需要从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 "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
}
推荐阅读
- xml - 如何使用powershell在xml中获取选定节点的行号
- excel - 使用 OpenXML 创建的 Excel 文件在 Excel 中打开时需要修复
- elasticsearch - 如何在弹性搜索中构建索引和布尔查询,对某些字段执行前缀匹配,对其他字段执行精确短语匹配?
- flutter - 我想将我的文本包装在固定高度的容器中,问题是在长文本的情况下,文本正在剪切
- javascript - 如何根据 switch case 切换表单功能?
- php - 为什么这个 div 结果在 php 中不同
- c# - 模拟自定义配置类
- javascript - SectionList React Native 中的选项卡
- android - 如何从 Fragment Kotlin Android 动态设置单选按钮的高度
- sql - 根据同一表中的特定值查找最近的记录