Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
- Latest
- 2025-02-01-preview
- 2025-01-01
- 2024-11-01-preview
- 2024-05-01-preview
- 2023-08-01
- 2023-08-01-preview
- 2023-05-01-preview
- 2023-02-01-preview
- 2022-11-01-preview
- 2022-08-01-preview
- 2022-05-01-preview
- 2022-02-01-preview
- 2021-11-01
- 2021-11-01-preview
- 2021-08-01-preview
- 2021-05-01-preview
- 2021-02-01-preview
- 2020-11-01-preview
- 2020-08-01-preview
- 2020-02-02-preview
- 2019-06-01-preview
- 2017-10-01-preview
- 2017-03-01-preview
- 2014-04-01
Определение ресурса Bicep
Тип ресурсов серверов и баз данных можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Создать Майкрософт. Ресурс SQL/серверы/базы данных — добавьте следующий Bicep в свой шаблон.
resource symbolicname 'Microsoft.Sql/servers/databases@2025-02-01-preview' = {
parent: resourceSymbolicName
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
location: 'string'
name: 'string'
properties: {
autoPauseDelay: int
availabilityZone: 'string'
catalogCollation: 'string'
collation: 'string'
createMode: 'string'
elasticPoolId: 'string'
encryptionProtector: 'string'
encryptionProtectorAutoRotation: bool
federatedClientId: 'string'
freeLimitExhaustionBehavior: 'string'
highAvailabilityReplicaCount: int
isLedgerOn: bool
keys: {
{customized property}: {}
}
licenseType: 'string'
longTermRetentionBackupResourceId: 'string'
maintenanceConfigurationId: 'string'
manualCutover: bool
maxSizeBytes: int
minCapacity: int
performCutover: bool
preferredEnclaveType: 'string'
readScale: 'string'
recoverableDatabaseId: 'string'
recoveryServicesRecoveryPointId: 'string'
requestedBackupStorageRedundancy: 'string'
restorableDroppedDatabaseId: 'string'
restorePointInTime: 'string'
sampleName: 'string'
secondaryType: 'string'
sourceDatabaseDeletionDate: 'string'
sourceDatabaseId: 'string'
sourceResourceId: 'string'
useFreeLimit: bool
zoneRedundant: bool
}
sku: {
capacity: int
family: 'string'
name: 'string'
size: 'string'
tier: 'string'
}
tags: {
{customized property}: 'string'
}
}
Значения свойств
Майкрософт. SQL/серверы/базы данных
| Name | Description | Value |
|---|---|---|
| identity | Идентификация Azure Active Directory базы данных. | DatabaseIdentity |
| location | Расположение ресурса. | строка (обязательно) |
| name | имя ресурса. | строка (обязательно) |
| parent | В Bicep можно указать родительский ресурс для дочернего ресурса. Это свойство необходимо добавить, только если дочерний ресурс объявлен за пределами родительского ресурса. Дополнительные сведения см. в разделе Дочерний ресурс за пределами родительского ресурса. |
Символьное имя ресурса типа: серверы |
| properties | Свойства ресурса. | DatabaseProperties |
| sku | Номер SKU базы данных. Список номеров SKU может отличаться по регионам и предложению поддержки. Чтобы определить SKU (включая имя, уровень/издание, семейство и емкость), доступные вашей подписке в Azure регионе, используйте API REST Capabilities_ListByLocation или одну из следующих команд:azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />Оболочка PowerShellGet-AzSqlServerServiceObjective -Location <расположение> ```` |
Sku |
| tags | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| type | Тип удостоверения | 'None' 'UserAssigned' |
| userAssignedIdentities | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
DatabaseKey
| Name | Description | Value |
|---|
DatabaseProperties
| Name | Description | Value |
|---|---|---|
| autoPauseDelay | Время в минутах после автоматической приостановки базы данных. Значение -1 означает, что автоматическая приостановка отключена | int |
| availabilityZone | Указывает зону доступности, к ней закреплена база данных. | '1' '2' '3' 'NoPreference' |
| catalogCollation | Параметры сортировки каталога метаданных. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| collation | Параметры сортировки базы данных. | string |
| createMode | Задает режим создания базы данных. По умолчанию: регулярное создание базы данных. Копирование: создает базу данных как копию существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса исходной базы данных. Вторичный: создает базу данных в качестве вторичной реплики существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса существующей базы данных-источника. PointInTimeRestore: создает базу данных путем восстановления резервной копии существующей базы данных на определенный момент времени. sourceDatabaseId необходимо указать в качестве идентификатора ресурса существующей базы данных, и необходимо указать restorePointInTime. Восстановление. Создание базы данных путем восстановления геореплицированной резервной копии. sourceDatabaseId необходимо указать в качестве идентификатора ресурса базы данных для восстановления. Восстановление. Создание базы данных путем восстановления резервной копии удаленной базы данных. необходимо указать sourceDatabaseId. Если sourceDatabaseId является исходным идентификатором ресурса базы данных, необходимо указать sourceDatabaseDeletionDeletionDate. В противном случае sourceDatabaseId должен быть идентификатором ресурса базы данных, который можно восстановить, и sourceDatabaseDeletionDeletionDate игнорируется. restorePointInTime также можно указать для восстановления с более ранней точки во времени. RestoreLongTermRetentionBackup: создает базу данных путем восстановления из долгосрочного хранилища хранения. RecoveryServicesRecoveryPointResourceId необходимо указать в качестве идентификатора ресурса точки восстановления. Копирование, вторичный и restoreLongTermRetentionBackup не поддерживается для выпуска DataWarehouse. |
'Copy' 'Default' 'OnlineSecondary' 'PointInTimeRestore' 'Recovery' 'Restore' 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | Идентификатор ресурса эластичного пула, содержащего эту базу данных. | string |
| encryptionProtector | URI хранилища ключей Azure базы данных, если она настроена с использованием ключей, управляемых клиентом базы данных. | string |
| encryptionProtectorAutoRotation | Флаг для включения или отключения автоматического поворота ключа AKV шифрования базы данных. | bool |
| federatedClientId | Идентификатор клиента, используемый для межтенантного сценария CMK для каждой базы данных | string Constraints: Минимальная длина = 36 Максимальная длина = 36 Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| freeLimitExhaustionBehavior | Указывает поведение, когда ежемесячные бесплатные ограничения исчерпаны для бесплатной базы данных. AutoPause: база данных будет автоматически приостановлена при исчерпании бесплатных ограничений на оставшуюся часть месяца. BillForUsage: база данных будет продолжать оставаться в сети после исчерпания бесплатных ограничений, и все превышение счетов будет выставлено. |
'AutoPause' 'BillOverUsage' |
| highAvailabilityReplicaCount | Количество вторичных реплик, связанных с базой данных выпуска "Критически важный для бизнеса", "Премиум" или "Гипермасштабирование", используемых для обеспечения высокой доступности. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | int |
| isLedgerOn | Независимо от того, является ли эта база данных базой данных реестра, то есть все таблицы в базе данных являются таблицами реестра. Примечание. Значение этого свойства невозможно изменить после создания базы данных. | bool |
| keys | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabasePropertiesKeys |
| licenseType | Тип лицензии, применяемый для этой базы данных.
LicenseIncluded, если вам нужна лицензия, или BasePrice, если у вас есть лицензия и вы имеете право на Преимущество гибридного использования Azure. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | Идентификатор ресурса долгосрочной резервной копии хранения, связанной с операцией создания этой базы данных. | string |
| maintenanceConfigurationId | Идентификатор конфигурации обслуживания, назначенный базе данных. Эта конфигурация определяет период, когда будут выполняться обновления обслуживания. | string |
| manualCutover | Требуется ли выполнить переход вручную, контролируемый клиентом, во время операции "Обновить базу данных" на уровень "Гипермасштабирование". Это свойство применимо только при масштабировании базы данных из уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании вручнуюCutover операция масштабирования будет ожидать, пока входные данные пользователя активируют переключение в базу данных Гипермасштабирования. Чтобы активировать переключение, укажите параметр "performCutover", когда операция масштабирования находится в состоянии ожидания. |
bool |
| maxSizeBytes | Максимальный размер базы данных, выраженный в байтах. | int |
| minCapacity | Минимальная емкость, которую база данных всегда будет выделена, если она не приостановлена | int |
| performCutover | Для активации управляемой клиентом ручной переключения во время выполнения операции масштабирования. Этот параметр свойства применим только для операций масштабирования, инициируемых вместе с параметром ManualCutover. Это свойство применимо только при масштабировании базы данных с уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании performCutover операция масштабирования активирует переключение и выполняет изменение роли в базе данных Гипермасштабирования. |
bool |
| preferredEnclaveType | Тип анклава, запрошенного в базе данных, например по умолчанию или анклавов VBS. | 'Default' 'VBS' |
| readScale | Состояние маршрутизации только для чтения. Если включено, соединения с приложением intent установлен на readonly в их строка подключения могут быть маршрутизированы к вторичной реплике только для чтения в том же регионе. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | 'Disabled' 'Enabled' |
| recoverableDatabaseId | Идентификатор ресурса восстанавливаемой базы данных, связанной с операцией создания этой базы данных. | string |
| recoveryServicesRecoveryPointId | Идентификатор ресурса точки восстановления, связанной с операцией создания этой базы данных. | string |
| requestedBackupStorageRedundancy | Тип учетной записи хранения, используемый для хранения резервных копий для этой базы данных. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | Идентификатор ресурса восстанавливаемой удаленной базы данных, связанной с операцией создания этой базы данных. | string |
| restorePointInTime | Указывает точку во времени (ISO8601 формате) исходной базы данных, которая будет восстановлена для создания новой базы данных. | string |
| sampleName | Имя примера схемы, применяемой при создании этой базы данных. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | Тип вторичной базы данных, если она является вторичной. Допустимыми значениями являются гео, именованные и резервные. | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | Указывает время удаления базы данных. | string |
| sourceDatabaseId | Идентификатор ресурса исходной базы данных, связанной с операцией создания этой базы данных. | string |
| sourceResourceId | Идентификатор ресурса источника, связанного с операцией создания этой базы данных. Это свойство поддерживается только для выпуска DataWarehouse и позволяет восстанавливаться в подписках. Если задан sourceResourceId, sourceDatabaseId, restoreableDatabaseId, restoreableDroppedDatabaseId и sourceDatabaseDeletionDeletionDate, а CreateMode должно быть PointInTimeRestore, Restore или Restore. Если createMode — PointInTimeRestore, sourceResourceId должен быть идентификатором ресурса существующей базы данных или существующего пула SQL, а также необходимо указать restorePointInTime. При созданииmode — restore, sourceResourceId должен быть идентификатором ресурса восстанавливаемой удаленной базы данных или восстанавливаемым пулом SQL. При создании объекта CreateMode is Recover источникResourceId должен быть идентификатором ресурса восстанавливаемой базы данных или пула sql с возможностью восстановления. Если исходная подписка принадлежит к клиенту, отличному от целевой подписки, заголовок x-ms-authorization-вспомогательный должен содержать маркер проверки подлинности для исходного клиента. Дополнительные сведения о заголовке x-ms-authorization-вспомогательный см. в разделе /Azure/azure-resource-manager/management/authenticate-multi-tenant |
string |
| useFreeLimit | Независимо от того, использует ли база данных бесплатные ежемесячные ограничения. Разрешено для одной базы данных в подписке. | bool |
| zoneRedundant | Независимо от того, является ли эта база данных избыточной по зонам, то есть реплики этой базы данных будут распространяться по нескольким зонам доступности. | bool |
DatabasePropertiesKeys
| Name | Description | Value |
|---|
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacity | Емкость конкретного номера SKU. | int |
| family | Если служба имеет разные поколения оборудования для одного номера SKU, это можно записать здесь. | string |
| name | Имя номера SKU, как правило, буква + код номера, например P3. | строка (обязательно) |
| size | Размер конкретного номера SKU | string |
| tier | Уровень или выпуск конкретного номера SKU, например "Базовый", "Премиум". | string |
TrackedResourceTags
| Name | Description | Value |
|---|
Примеры использования
Bicep Samples
Простой пример развертывания базы данных MS SQL.
param resourceName string = 'acctest0001'
param location string = 'westeurope'
@secure()
@description('The administrator login password for the SQL server')
param administratorLoginPassword string
resource server 'Microsoft.Sql/servers@2021-02-01-preview' = {
name: resourceName
location: location
properties: {
administratorLogin: 'mradministrator'
administratorLoginPassword: null
minimalTlsVersion: '1.2'
publicNetworkAccess: 'Enabled'
restrictOutboundNetworkAccess: 'Disabled'
version: '12.0'
}
}
resource database 'Microsoft.Sql/servers/databases@2021-02-01-preview' = {
parent: server
name: resourceName
location: location
properties: {
autoPauseDelay: 0
createMode: 'Default'
elasticPoolId: ''
highAvailabilityReplicaCount: 0
isLedgerOn: false
licenseType: 'LicenseIncluded'
maintenanceConfigurationId: resourceId('Microsoft.Maintenance/publicMaintenanceConfigurations', 'SQL_Default')
minCapacity: 0
readScale: 'Disabled'
requestedBackupStorageRedundancy: 'Geo'
zoneRedundant: false
}
}
Azure Verified Modules
Следующие Azure Проверенные модули могут использоваться для развертывания этого типа ресурсов.
| Модуль | Description |
|---|---|
| База данных SQL Azure | AVM Resource Module for База данных SQL Azure |
Azure Quickstart Samples
Следующие шаблоны Azure Quickstart содержат Bicep образцов для развертывания этого типа ресурсов.
| Bicep File | Description |
|---|---|
| Azure SQL Server с аудитом на Log Analytics | Этот шаблон позволяет развернуть Azure SQL-сервер с включённым Auditing для записи журналов аудита в Log Analytics (OMS workspace) |
| Создать SQL Server и базу данных | Этот шаблон позволяет создавать базу данных SQL и сервер. |
| выделенный SQL-пул с прозрачным шифрованием | Создаёт SQL Server и выделенный SQL-пул (ранее SQL DW) с прозрачное шифрование данных. |
| Развернуть спортивную аналитику на Azure архитектуре | Создаёт Azure хранилище с включённым ADLS Gen 2, экземпляр Фабрика данных Azure с связанными сервисами для аккаунта хранения (а также База данных SQL Azure при развертывании) и экземпляр Azure Databricks. Удостоверение AAD для пользователя, развертывающего шаблон и управляемое удостоверение для экземпляра ADF, будет предоставлено роль участника данных BLOB-объектов хранилища в учетной записи хранения. Также есть варианты развертывания экземпляра Azure Key Vault, База данных SQL Azure и Azure Event Hub (для сценариев потокового использования). При развертывании Azure Key Vault идентификатор управляемой фабрикой данных и идентификатор AAD пользователя, развёртывающего шаблон, получают роль пользователя Key Vault Secrets. |
| Private Endpoint пример | Этот шаблон показывает, как создать приватную конечную точку с указанием на Azure SQL Server |
| Обеспечение веб-приложения с базой данных SQL | Этот шаблон подготавливает веб-приложение, базу данных SQL, параметры автомасштабирования, правила генерации оповещений и App Insights. Он настраивает строка подключения в веб-приложении для базы данных. |
| Sonarqube Docker Web App на Linux с Azure SQL | Этот шаблон развёртает Sonarqube в веб-приложении Служба приложений Azure на Linux с использованием официального образа Sonarqube и поддерживается Azure SQL Server. |
| Веб-приложение с управляемой идентичностью, SQL Server и ΑΙ | Простой пример развертывания инфраструктуры Azure для приложения + данных + управляемой идентичности + мониторинга |
Определение ресурса шаблона ARM
Тип ресурсов серверов и баз данных можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Создать Майкрософт. Sql/серверы/ресурсы баз данных, добавьте следующий JSON в свой шаблон.
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2025-02-01-preview",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"location": "string",
"properties": {
"autoPauseDelay": "int",
"availabilityZone": "string",
"catalogCollation": "string",
"collation": "string",
"createMode": "string",
"elasticPoolId": "string",
"encryptionProtector": "string",
"encryptionProtectorAutoRotation": "bool",
"federatedClientId": "string",
"freeLimitExhaustionBehavior": "string",
"highAvailabilityReplicaCount": "int",
"isLedgerOn": "bool",
"keys": {
"{customized property}": {
}
},
"licenseType": "string",
"longTermRetentionBackupResourceId": "string",
"maintenanceConfigurationId": "string",
"manualCutover": "bool",
"maxSizeBytes": "int",
"minCapacity": "int",
"performCutover": "bool",
"preferredEnclaveType": "string",
"readScale": "string",
"recoverableDatabaseId": "string",
"recoveryServicesRecoveryPointId": "string",
"requestedBackupStorageRedundancy": "string",
"restorableDroppedDatabaseId": "string",
"restorePointInTime": "string",
"sampleName": "string",
"secondaryType": "string",
"sourceDatabaseDeletionDate": "string",
"sourceDatabaseId": "string",
"sourceResourceId": "string",
"useFreeLimit": "bool",
"zoneRedundant": "bool"
},
"sku": {
"capacity": "int",
"family": "string",
"name": "string",
"size": "string",
"tier": "string"
},
"tags": {
"{customized property}": "string"
}
}
Значения свойств
Майкрософт. SQL/серверы/базы данных
| Name | Description | Value |
|---|---|---|
| apiVersion | Версия API | «2025-02-01-превью» |
| identity | Идентификация Azure Active Directory базы данных. | DatabaseIdentity |
| location | Расположение ресурса. | строка (обязательно) |
| name | имя ресурса. | строка (обязательно) |
| properties | Свойства ресурса. | DatabaseProperties |
| sku | Номер SKU базы данных. Список номеров SKU может отличаться по регионам и предложению поддержки. Чтобы определить SKU (включая имя, уровень/издание, семейство и емкость), доступные вашей подписке в Azure регионе, используйте API REST Capabilities_ListByLocation или одну из следующих команд:azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />Оболочка PowerShellGet-AzSqlServerServiceObjective -Location <расположение> ```` |
Sku |
| tags | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
| type | Тип ресурса | 'Майкрософт. Sql/серверы/базы данных |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| type | Тип удостоверения | 'None' 'UserAssigned' |
| userAssignedIdentities | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
DatabaseKey
| Name | Description | Value |
|---|
DatabaseProperties
| Name | Description | Value |
|---|---|---|
| autoPauseDelay | Время в минутах после автоматической приостановки базы данных. Значение -1 означает, что автоматическая приостановка отключена | int |
| availabilityZone | Указывает зону доступности, к ней закреплена база данных. | '1' '2' '3' 'NoPreference' |
| catalogCollation | Параметры сортировки каталога метаданных. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| collation | Параметры сортировки базы данных. | string |
| createMode | Задает режим создания базы данных. По умолчанию: регулярное создание базы данных. Копирование: создает базу данных как копию существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса исходной базы данных. Вторичный: создает базу данных в качестве вторичной реплики существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса существующей базы данных-источника. PointInTimeRestore: создает базу данных путем восстановления резервной копии существующей базы данных на определенный момент времени. sourceDatabaseId необходимо указать в качестве идентификатора ресурса существующей базы данных, и необходимо указать restorePointInTime. Восстановление. Создание базы данных путем восстановления геореплицированной резервной копии. sourceDatabaseId необходимо указать в качестве идентификатора ресурса базы данных для восстановления. Восстановление. Создание базы данных путем восстановления резервной копии удаленной базы данных. необходимо указать sourceDatabaseId. Если sourceDatabaseId является исходным идентификатором ресурса базы данных, необходимо указать sourceDatabaseDeletionDeletionDate. В противном случае sourceDatabaseId должен быть идентификатором ресурса базы данных, который можно восстановить, и sourceDatabaseDeletionDeletionDate игнорируется. restorePointInTime также можно указать для восстановления с более ранней точки во времени. RestoreLongTermRetentionBackup: создает базу данных путем восстановления из долгосрочного хранилища хранения. RecoveryServicesRecoveryPointResourceId необходимо указать в качестве идентификатора ресурса точки восстановления. Копирование, вторичный и restoreLongTermRetentionBackup не поддерживается для выпуска DataWarehouse. |
'Copy' 'Default' 'OnlineSecondary' 'PointInTimeRestore' 'Recovery' 'Restore' 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | Идентификатор ресурса эластичного пула, содержащего эту базу данных. | string |
| encryptionProtector | URI хранилища ключей Azure базы данных, если она настроена с использованием ключей, управляемых клиентом базы данных. | string |
| encryptionProtectorAutoRotation | Флаг для включения или отключения автоматического поворота ключа AKV шифрования базы данных. | bool |
| federatedClientId | Идентификатор клиента, используемый для межтенантного сценария CMK для каждой базы данных | string Constraints: Минимальная длина = 36 Максимальная длина = 36 Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| freeLimitExhaustionBehavior | Указывает поведение, когда ежемесячные бесплатные ограничения исчерпаны для бесплатной базы данных. AutoPause: база данных будет автоматически приостановлена при исчерпании бесплатных ограничений на оставшуюся часть месяца. BillForUsage: база данных будет продолжать оставаться в сети после исчерпания бесплатных ограничений, и все превышение счетов будет выставлено. |
'AutoPause' 'BillOverUsage' |
| highAvailabilityReplicaCount | Количество вторичных реплик, связанных с базой данных выпуска "Критически важный для бизнеса", "Премиум" или "Гипермасштабирование", используемых для обеспечения высокой доступности. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | int |
| isLedgerOn | Независимо от того, является ли эта база данных базой данных реестра, то есть все таблицы в базе данных являются таблицами реестра. Примечание. Значение этого свойства невозможно изменить после создания базы данных. | bool |
| keys | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabasePropertiesKeys |
| licenseType | Тип лицензии, применяемый для этой базы данных.
LicenseIncluded, если вам нужна лицензия, или BasePrice, если у вас есть лицензия и вы имеете право на Преимущество гибридного использования Azure. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | Идентификатор ресурса долгосрочной резервной копии хранения, связанной с операцией создания этой базы данных. | string |
| maintenanceConfigurationId | Идентификатор конфигурации обслуживания, назначенный базе данных. Эта конфигурация определяет период, когда будут выполняться обновления обслуживания. | string |
| manualCutover | Требуется ли выполнить переход вручную, контролируемый клиентом, во время операции "Обновить базу данных" на уровень "Гипермасштабирование". Это свойство применимо только при масштабировании базы данных из уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании вручнуюCutover операция масштабирования будет ожидать, пока входные данные пользователя активируют переключение в базу данных Гипермасштабирования. Чтобы активировать переключение, укажите параметр "performCutover", когда операция масштабирования находится в состоянии ожидания. |
bool |
| maxSizeBytes | Максимальный размер базы данных, выраженный в байтах. | int |
| minCapacity | Минимальная емкость, которую база данных всегда будет выделена, если она не приостановлена | int |
| performCutover | Для активации управляемой клиентом ручной переключения во время выполнения операции масштабирования. Этот параметр свойства применим только для операций масштабирования, инициируемых вместе с параметром ManualCutover. Это свойство применимо только при масштабировании базы данных с уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании performCutover операция масштабирования активирует переключение и выполняет изменение роли в базе данных Гипермасштабирования. |
bool |
| preferredEnclaveType | Тип анклава, запрошенного в базе данных, например по умолчанию или анклавов VBS. | 'Default' 'VBS' |
| readScale | Состояние маршрутизации только для чтения. Если включено, соединения с приложением intent установлен на readonly в их строка подключения могут быть маршрутизированы к вторичной реплике только для чтения в том же регионе. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | 'Disabled' 'Enabled' |
| recoverableDatabaseId | Идентификатор ресурса восстанавливаемой базы данных, связанной с операцией создания этой базы данных. | string |
| recoveryServicesRecoveryPointId | Идентификатор ресурса точки восстановления, связанной с операцией создания этой базы данных. | string |
| requestedBackupStorageRedundancy | Тип учетной записи хранения, используемый для хранения резервных копий для этой базы данных. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | Идентификатор ресурса восстанавливаемой удаленной базы данных, связанной с операцией создания этой базы данных. | string |
| restorePointInTime | Указывает точку во времени (ISO8601 формате) исходной базы данных, которая будет восстановлена для создания новой базы данных. | string |
| sampleName | Имя примера схемы, применяемой при создании этой базы данных. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | Тип вторичной базы данных, если она является вторичной. Допустимыми значениями являются гео, именованные и резервные. | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | Указывает время удаления базы данных. | string |
| sourceDatabaseId | Идентификатор ресурса исходной базы данных, связанной с операцией создания этой базы данных. | string |
| sourceResourceId | Идентификатор ресурса источника, связанного с операцией создания этой базы данных. Это свойство поддерживается только для выпуска DataWarehouse и позволяет восстанавливаться в подписках. Если задан sourceResourceId, sourceDatabaseId, restoreableDatabaseId, restoreableDroppedDatabaseId и sourceDatabaseDeletionDeletionDate, а CreateMode должно быть PointInTimeRestore, Restore или Restore. Если createMode — PointInTimeRestore, sourceResourceId должен быть идентификатором ресурса существующей базы данных или существующего пула SQL, а также необходимо указать restorePointInTime. При созданииmode — restore, sourceResourceId должен быть идентификатором ресурса восстанавливаемой удаленной базы данных или восстанавливаемым пулом SQL. При создании объекта CreateMode is Recover источникResourceId должен быть идентификатором ресурса восстанавливаемой базы данных или пула sql с возможностью восстановления. Если исходная подписка принадлежит к клиенту, отличному от целевой подписки, заголовок x-ms-authorization-вспомогательный должен содержать маркер проверки подлинности для исходного клиента. Дополнительные сведения о заголовке x-ms-authorization-вспомогательный см. в разделе /Azure/azure-resource-manager/management/authenticate-multi-tenant |
string |
| useFreeLimit | Независимо от того, использует ли база данных бесплатные ежемесячные ограничения. Разрешено для одной базы данных в подписке. | bool |
| zoneRedundant | Независимо от того, является ли эта база данных избыточной по зонам, то есть реплики этой базы данных будут распространяться по нескольким зонам доступности. | bool |
DatabasePropertiesKeys
| Name | Description | Value |
|---|
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacity | Емкость конкретного номера SKU. | int |
| family | Если служба имеет разные поколения оборудования для одного номера SKU, это можно записать здесь. | string |
| name | Имя номера SKU, как правило, буква + код номера, например P3. | строка (обязательно) |
| size | Размер конкретного номера SKU | string |
| tier | Уровень или выпуск конкретного номера SKU, например "Базовый", "Премиум". | string |
TrackedResourceTags
| Name | Description | Value |
|---|
Примеры использования
Azure Quickstart Templates
Следующие Azure шаблоны быстрого запуска развёртают этот тип ресурса.
| Template | Description |
|---|---|
|
Azure SQL Server с аудитом на Log Analytics |
Этот шаблон позволяет развернуть Azure SQL-сервер с включённым Auditing для записи журналов аудита в Log Analytics (OMS workspace) |
|
Создать SQL Server и базу данных |
Этот шаблон позволяет создавать базу данных SQL и сервер. |
|
выделенный SQL-пул с прозрачным шифрованием |
Создаёт SQL Server и выделенный SQL-пул (ранее SQL DW) с прозрачное шифрование данных. |
|
Развернуть новый SQL Elastic Pool |
Этот шаблон позволяет развернуть новый SQL Elastic Pool с новым связанным SQL Server и новыми SQL базами данных для назначения. |
|
Развернуть спортивную аналитику на Azure архитектуре |
Создаёт Azure хранилище с включённым ADLS Gen 2, экземпляр Фабрика данных Azure с связанными сервисами для аккаунта хранения (а также База данных SQL Azure при развертывании) и экземпляр Azure Databricks. Удостоверение AAD для пользователя, развертывающего шаблон и управляемое удостоверение для экземпляра ADF, будет предоставлено роль участника данных BLOB-объектов хранилища в учетной записи хранения. Также есть варианты развертывания экземпляра Azure Key Vault, База данных SQL Azure и Azure Event Hub (для сценариев потокового использования). При развертывании Azure Key Vault идентификатор управляемой фабрикой данных и идентификатор AAD пользователя, развёртывающего шаблон, получают роль пользователя Key Vault Secrets. |
|
HDInsight с кастомной базой данных Ambari + Hive Metastore в VNET |
Этот шаблон позволяет создать кластер HDInsight в существующей виртуальной сети с новой базой данных SQL, которая служит как пользовательской базой данных Ambari DB, так и хранилищем метаданных Hive. У вас должна быть существующая учетная запись SQL, учетная запись хранения и виртуальная сеть. |
|
Private Endpoint пример |
Этот шаблон показывает, как создать приватную конечную точку с указанием на Azure SQL Server |
|
Обеспечение веб-приложения с базой данных SQL |
Этот шаблон подготавливает веб-приложение, базу данных SQL, параметры автомасштабирования, правила генерации оповещений и App Insights. Он настраивает строка подключения в веб-приложении для базы данных. |
|
Remote Desktop Услуги с высокой доступностью |
Этот примерный код шаблона ARM будет развернуть лабораторию Remote Desktop Services 2019 Session Collection с высокой доступностью. Цель — внедрить полностью избыточное, высокодоступное решение для Remote Desktop Services, используя Windows Server 2019. |
|
Sonarqube Docker Web App на Linux с Azure SQL |
Этот шаблон развёртает Sonarqube в веб-приложении Служба приложений Azure на Linux с использованием официального образа Sonarqube и поддерживается Azure SQL Server. |
|
Веб-приложение с управляемой идентичностью, SQL Server и ΑΙ |
Простой пример развертывания инфраструктуры Azure для приложения + данных + управляемой идентичности + мониторинга |
|
WebApp использует Azure SQL Private Endpoint |
Этот шаблон показывает, как создать веб-приложение, которое использует частную конечную точку, указывающую на Azure SQL Server |
Определение ресурса Terraform (поставщик AzAPI)
Тип ресурсов серверов и баз данных можно развернуть с помощью операций, предназначенных для следующих операций:
- Группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Создать Майкрософт. Sql/серверы/ресурсы баз данных, добавьте следующий Terraform в ваш шаблон.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Sql/servers/databases@2025-02-01-preview"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
autoPauseDelay = int
availabilityZone = "string"
catalogCollation = "string"
collation = "string"
createMode = "string"
elasticPoolId = "string"
encryptionProtector = "string"
encryptionProtectorAutoRotation = bool
federatedClientId = "string"
freeLimitExhaustionBehavior = "string"
highAvailabilityReplicaCount = int
isLedgerOn = bool
keys = {
{customized property} = {
}
}
licenseType = "string"
longTermRetentionBackupResourceId = "string"
maintenanceConfigurationId = "string"
manualCutover = bool
maxSizeBytes = int
minCapacity = int
performCutover = bool
preferredEnclaveType = "string"
readScale = "string"
recoverableDatabaseId = "string"
recoveryServicesRecoveryPointId = "string"
requestedBackupStorageRedundancy = "string"
restorableDroppedDatabaseId = "string"
restorePointInTime = "string"
sampleName = "string"
secondaryType = "string"
sourceDatabaseDeletionDate = "string"
sourceDatabaseId = "string"
sourceResourceId = "string"
useFreeLimit = bool
zoneRedundant = bool
}
sku = {
capacity = int
family = "string"
name = "string"
size = "string"
tier = "string"
}
}
}
Значения свойств
Майкрософт. SQL/серверы/базы данных
| Name | Description | Value |
|---|---|---|
| identity | Идентификация Azure Active Directory базы данных. | DatabaseIdentity |
| location | Расположение ресурса. | строка (обязательно) |
| name | имя ресурса. | строка (обязательно) |
| parent_id | Идентификатор ресурса, который является родительским для этого ресурса. | Идентификатор ресурса типа: серверы |
| properties | Свойства ресурса. | DatabaseProperties |
| sku | Номер SKU базы данных. Список номеров SKU может отличаться по регионам и предложению поддержки. Чтобы определить SKU (включая имя, уровень/издание, семейство и емкость), доступные вашей подписке в Azure регионе, используйте API REST Capabilities_ListByLocation или одну из следующих команд:azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />Оболочка PowerShellGet-AzSqlServerServiceObjective -Location <расположение> ```` |
Sku |
| tags | Теги ресурсов | Словарь имен и значений тегов. |
| type | Тип ресурса | «Майкрософт. Sql/servers/databases@2025-02-01-preview" |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| type | Тип удостоверения | 'None' 'UserAssigned' |
| userAssignedIdentities | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
DatabaseKey
| Name | Description | Value |
|---|
DatabaseProperties
| Name | Description | Value |
|---|---|---|
| autoPauseDelay | Время в минутах после автоматической приостановки базы данных. Значение -1 означает, что автоматическая приостановка отключена | int |
| availabilityZone | Указывает зону доступности, к ней закреплена база данных. | '1' '2' '3' 'NoPreference' |
| catalogCollation | Параметры сортировки каталога метаданных. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| collation | Параметры сортировки базы данных. | string |
| createMode | Задает режим создания базы данных. По умолчанию: регулярное создание базы данных. Копирование: создает базу данных как копию существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса исходной базы данных. Вторичный: создает базу данных в качестве вторичной реплики существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса существующей базы данных-источника. PointInTimeRestore: создает базу данных путем восстановления резервной копии существующей базы данных на определенный момент времени. sourceDatabaseId необходимо указать в качестве идентификатора ресурса существующей базы данных, и необходимо указать restorePointInTime. Восстановление. Создание базы данных путем восстановления геореплицированной резервной копии. sourceDatabaseId необходимо указать в качестве идентификатора ресурса базы данных для восстановления. Восстановление. Создание базы данных путем восстановления резервной копии удаленной базы данных. необходимо указать sourceDatabaseId. Если sourceDatabaseId является исходным идентификатором ресурса базы данных, необходимо указать sourceDatabaseDeletionDeletionDate. В противном случае sourceDatabaseId должен быть идентификатором ресурса базы данных, который можно восстановить, и sourceDatabaseDeletionDeletionDate игнорируется. restorePointInTime также можно указать для восстановления с более ранней точки во времени. RestoreLongTermRetentionBackup: создает базу данных путем восстановления из долгосрочного хранилища хранения. RecoveryServicesRecoveryPointResourceId необходимо указать в качестве идентификатора ресурса точки восстановления. Копирование, вторичный и restoreLongTermRetentionBackup не поддерживается для выпуска DataWarehouse. |
'Copy' 'Default' 'OnlineSecondary' 'PointInTimeRestore' 'Recovery' 'Restore' 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | Идентификатор ресурса эластичного пула, содержащего эту базу данных. | string |
| encryptionProtector | URI хранилища ключей Azure базы данных, если она настроена с использованием ключей, управляемых клиентом базы данных. | string |
| encryptionProtectorAutoRotation | Флаг для включения или отключения автоматического поворота ключа AKV шифрования базы данных. | bool |
| federatedClientId | Идентификатор клиента, используемый для межтенантного сценария CMK для каждой базы данных | string Constraints: Минимальная длина = 36 Максимальная длина = 36 Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| freeLimitExhaustionBehavior | Указывает поведение, когда ежемесячные бесплатные ограничения исчерпаны для бесплатной базы данных. AutoPause: база данных будет автоматически приостановлена при исчерпании бесплатных ограничений на оставшуюся часть месяца. BillForUsage: база данных будет продолжать оставаться в сети после исчерпания бесплатных ограничений, и все превышение счетов будет выставлено. |
'AutoPause' 'BillOverUsage' |
| highAvailabilityReplicaCount | Количество вторичных реплик, связанных с базой данных выпуска "Критически важный для бизнеса", "Премиум" или "Гипермасштабирование", используемых для обеспечения высокой доступности. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | int |
| isLedgerOn | Независимо от того, является ли эта база данных базой данных реестра, то есть все таблицы в базе данных являются таблицами реестра. Примечание. Значение этого свойства невозможно изменить после создания базы данных. | bool |
| keys | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabasePropertiesKeys |
| licenseType | Тип лицензии, применяемый для этой базы данных.
LicenseIncluded, если вам нужна лицензия, или BasePrice, если у вас есть лицензия и вы имеете право на Преимущество гибридного использования Azure. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | Идентификатор ресурса долгосрочной резервной копии хранения, связанной с операцией создания этой базы данных. | string |
| maintenanceConfigurationId | Идентификатор конфигурации обслуживания, назначенный базе данных. Эта конфигурация определяет период, когда будут выполняться обновления обслуживания. | string |
| manualCutover | Требуется ли выполнить переход вручную, контролируемый клиентом, во время операции "Обновить базу данных" на уровень "Гипермасштабирование". Это свойство применимо только при масштабировании базы данных из уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании вручнуюCutover операция масштабирования будет ожидать, пока входные данные пользователя активируют переключение в базу данных Гипермасштабирования. Чтобы активировать переключение, укажите параметр "performCutover", когда операция масштабирования находится в состоянии ожидания. |
bool |
| maxSizeBytes | Максимальный размер базы данных, выраженный в байтах. | int |
| minCapacity | Минимальная емкость, которую база данных всегда будет выделена, если она не приостановлена | int |
| performCutover | Для активации управляемой клиентом ручной переключения во время выполнения операции масштабирования. Этот параметр свойства применим только для операций масштабирования, инициируемых вместе с параметром ManualCutover. Это свойство применимо только при масштабировании базы данных с уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании performCutover операция масштабирования активирует переключение и выполняет изменение роли в базе данных Гипермасштабирования. |
bool |
| preferredEnclaveType | Тип анклава, запрошенного в базе данных, например по умолчанию или анклавов VBS. | 'Default' 'VBS' |
| readScale | Состояние маршрутизации только для чтения. Если включено, соединения с приложением intent установлен на readonly в их строка подключения могут быть маршрутизированы к вторичной реплике только для чтения в том же регионе. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | 'Disabled' 'Enabled' |
| recoverableDatabaseId | Идентификатор ресурса восстанавливаемой базы данных, связанной с операцией создания этой базы данных. | string |
| recoveryServicesRecoveryPointId | Идентификатор ресурса точки восстановления, связанной с операцией создания этой базы данных. | string |
| requestedBackupStorageRedundancy | Тип учетной записи хранения, используемый для хранения резервных копий для этой базы данных. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | Идентификатор ресурса восстанавливаемой удаленной базы данных, связанной с операцией создания этой базы данных. | string |
| restorePointInTime | Указывает точку во времени (ISO8601 формате) исходной базы данных, которая будет восстановлена для создания новой базы данных. | string |
| sampleName | Имя примера схемы, применяемой при создании этой базы данных. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | Тип вторичной базы данных, если она является вторичной. Допустимыми значениями являются гео, именованные и резервные. | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | Указывает время удаления базы данных. | string |
| sourceDatabaseId | Идентификатор ресурса исходной базы данных, связанной с операцией создания этой базы данных. | string |
| sourceResourceId | Идентификатор ресурса источника, связанного с операцией создания этой базы данных. Это свойство поддерживается только для выпуска DataWarehouse и позволяет восстанавливаться в подписках. Если задан sourceResourceId, sourceDatabaseId, restoreableDatabaseId, restoreableDroppedDatabaseId и sourceDatabaseDeletionDeletionDate, а CreateMode должно быть PointInTimeRestore, Restore или Restore. Если createMode — PointInTimeRestore, sourceResourceId должен быть идентификатором ресурса существующей базы данных или существующего пула SQL, а также необходимо указать restorePointInTime. При созданииmode — restore, sourceResourceId должен быть идентификатором ресурса восстанавливаемой удаленной базы данных или восстанавливаемым пулом SQL. При создании объекта CreateMode is Recover источникResourceId должен быть идентификатором ресурса восстанавливаемой базы данных или пула sql с возможностью восстановления. Если исходная подписка принадлежит к клиенту, отличному от целевой подписки, заголовок x-ms-authorization-вспомогательный должен содержать маркер проверки подлинности для исходного клиента. Дополнительные сведения о заголовке x-ms-authorization-вспомогательный см. в разделе /Azure/azure-resource-manager/management/authenticate-multi-tenant |
string |
| useFreeLimit | Независимо от того, использует ли база данных бесплатные ежемесячные ограничения. Разрешено для одной базы данных в подписке. | bool |
| zoneRedundant | Независимо от того, является ли эта база данных избыточной по зонам, то есть реплики этой базы данных будут распространяться по нескольким зонам доступности. | bool |
DatabasePropertiesKeys
| Name | Description | Value |
|---|
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacity | Емкость конкретного номера SKU. | int |
| family | Если служба имеет разные поколения оборудования для одного номера SKU, это можно записать здесь. | string |
| name | Имя номера SKU, как правило, буква + код номера, например P3. | строка (обязательно) |
| size | Размер конкретного номера SKU | string |
| tier | Уровень или выпуск конкретного номера SKU, например "Базовый", "Премиум". | string |
TrackedResourceTags
| Name | Description | Value |
|---|
Примеры использования
Примеры Terraform
Простой пример развертывания базы данных MS SQL.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
azurerm = {
source = "hashicorp/azurerm"
}
}
}
provider "azurerm" {
features {
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
variable "administrator_login_password" {
type = string
description = "The administrator login password for the SQL server"
sensitive = true
}
data "azurerm_client_config" "current" {
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "server" {
type = "Microsoft.Sql/servers@2021-02-01-preview"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
administratorLogin = "mradministrator"
administratorLoginPassword = var.administrator_login_password
minimalTlsVersion = "1.2"
publicNetworkAccess = "Enabled"
restrictOutboundNetworkAccess = "Disabled"
version = "12.0"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
data "azapi_resource_id" "publicMaintenanceConfiguration" {
type = "Microsoft.Maintenance/publicMaintenanceConfigurations@2023-04-01"
parent_id = "/subscriptions/${data.azurerm_client_config.current.subscription_id}"
name = "SQL_Default"
}
resource "azapi_resource" "database" {
type = "Microsoft.Sql/servers/databases@2021-02-01-preview"
parent_id = azapi_resource.server.id
name = var.resource_name
location = var.location
body = {
properties = {
autoPauseDelay = 0
createMode = "Default"
elasticPoolId = ""
highAvailabilityReplicaCount = 0
isLedgerOn = false
licenseType = "LicenseIncluded"
maintenanceConfigurationId = data.azapi_resource_id.publicMaintenanceConfiguration.id
minCapacity = 0
readScale = "Disabled"
requestedBackupStorageRedundancy = "Geo"
zoneRedundant = false
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
Простой пример развертывания базы данных MS SQL.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
azurerm = {
source = "hashicorp/azurerm"
}
}
}
provider "azurerm" {
features {
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
variable "administrator_login_password" {
type = string
description = "The administrator login password for the SQL server"
sensitive = true
}
data "azurerm_client_config" "current" {
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "server" {
type = "Microsoft.Sql/servers@2021-02-01-preview"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
administratorLogin = "mradministrator"
administratorLoginPassword = var.administrator_login_password
minimalTlsVersion = "1.2"
publicNetworkAccess = "Enabled"
restrictOutboundNetworkAccess = "Disabled"
version = "12.0"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
data "azapi_resource_id" "publicMaintenanceConfiguration" {
type = "Microsoft.Maintenance/publicMaintenanceConfigurations@2023-04-01"
parent_id = "/subscriptions/${data.azurerm_client_config.current.subscription_id}"
name = "SQL_Default"
}
resource "azapi_resource" "database" {
type = "Microsoft.Sql/servers/databases@2021-02-01-preview"
parent_id = azapi_resource.server.id
name = var.resource_name
location = var.location
body = {
properties = {
autoPauseDelay = 0
createMode = "Default"
elasticPoolId = ""
highAvailabilityReplicaCount = 0
isLedgerOn = false
licenseType = "LicenseIncluded"
maintenanceConfigurationId = data.azapi_resource_id.publicMaintenanceConfiguration.id
minCapacity = 0
readScale = "Disabled"
requestedBackupStorageRedundancy = "Geo"
zoneRedundant = false
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}