如何通过terraform在Azure Sql的无服务器计算层中创建新数据库

问题描述

我想通过terraform在Azure sql的无服务器计算层中创建新数据库。有可能创造吗?如果可以,请告诉我如何创建它?

解决方法

无服务器计算层当前仅在Gen5 hardware上可用。

只需将Gen5块中的SKU定价层之一设置为azurerm_mssql_database

一个工作示例如下:

provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "rg" {
    location = var.location
    name     = var.rg_name
}

resource "azurerm_sql_server" "sqlserver" {
    name                        = var.sqlserver_name
    resource_group_name         = azurerm_resource_group.rg.name
    location                    = var.location
    version                     = "12.0"

    administrator_login         = var.admin
    administrator_login_password = var.admin_password
}

resource "azurerm_mssql_database" "serverless_db" {
    name                        = "serverles-db"
    server_id                   = azurerm_sql_server.sqlserver.id
    collation                   = "SQL_Latin1_General_CP1_CI_AS"

    auto_pause_delay_in_minutes = 60
    max_size_gb                 = 32
    min_capacity                = 0.5
    read_replica_count          = 0
    read_scale                  = false
    sku_name                    = "GP_S_Gen5_1"
    zone_redundant              = false

    threat_detection_policy {
        disabled_alerts      = []
        email_account_admins = "Disabled"
        email_addresses      = []
        retention_days       = 0
        state                = "Disabled"
        use_server_default   = "Disabled"
    }
}