gpt4 book ai didi

azure - 创建 SQL Server 数据库时 Terraform 无法识别导入 block

转载 作者:行者123 更新时间:2023-12-03 04:52:46 30 4
gpt4 key购买 nike

我正在尝试使用 Azure 中的 terraform 从存储帐户中的 bacpac 创建数据库。根据this documentation使用 azurerm_mssql_database 导入 block 应该可以实现,但是在尝试此操作时会抛出错误。

这是我的 tf 代码的相关部分:

resource "azurerm_mssql_database" "database" {
name = var.database_name
server_id = azurerm_mssql_server.sql_server.id
collation = "SQL_Latin1_General_CP1_CI_AS"
license_type = "LicenseIncluded"
max_size_gb = 4
sku_name = "Basic"
import {
storage_uri = var.bacpac_url
storage_key = var.access_key
storage_key_type = "StorageAccessKey"
administrator_login = var.sql_user
administrator_login_password = var.sql_password
authentication_type = "Sql"
}

但是运行此命令会返回以下错误:

Error: Unsupported block type

on main.tf line 187, in resource "azurerm_mssql_database"
"database":
187: import {
Blocks of type "import" are not expected here.

我认为这显然将导入 block 与将现有资源置于 terraform 管理之下的导入混淆了。我的语法中是否存在导致此问题的错误,或者我是否应该使用新方法?我正在使用 terraform 版本 1.5.2 和 azurerm 提供程序版本 3.0.2(如果有帮助的话)。

我尝试过使用create_mode however that seems to be broken as well

最佳答案

azurerm 提供程序版本 3.27.0 及更高版本中添加了对数据库导入 block 的支持。

https://github.com/hashicorp/terraform-provider-azurerm/pull/18588 enter image description here

https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.27.0

以下工作(假设使用最新或版本 3.27.0 的 azurerm 提供商)。

provider "azurerm" {
features {}
}

resource "azurerm_resource_group" "example" {
name = "example-resources"
location = "West Europe"
}

resource "azurerm_mssql_server" "example" {
name = "example-sqlserver"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
version = "12.0"
administrator_login = "4dm1n157r470r"
administrator_login_password = "4-v3ry-53cr37-p455w0rd"
}


resource "azurerm_mssql_database" "database" {
name = "example-database-qwerty"
server_id = azurerm_mssql_server.example.id
collation = "SQL_Latin1_General_CP1_CI_AS"
license_type = "LicenseIncluded"
max_size_gb = 4
sku_name = "Basic"
import {
storage_uri = var.bacpac_url
storage_key = var.access_key
storage_key_type = "StorageAccessKey"
administrator_login = var.sql_user
administrator_login_password = var.sql_password
authentication_type = "Sql"
}
}
variable "bacpac_url" {
type = string
}
variable "access_key" {
type = string
}
variable "sql_user" {
type = string
}
variable "sql_password" {
type = string
}

关于azure - 创建 SQL Server 数据库时 Terraform 无法识别导入 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76862574/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com