Кластеры Microsoft.Kusto, базы данных и скрипты

Определение ресурсов Bicep

Тип ресурса clusters/database/scripts можно развернуть с помощью операций, предназначенных для следующих целей:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.Kusto/clusters/databases/scripts, добавьте следующий Bicep в шаблон.

resource symbolicname 'Microsoft.Kusto/clusters/databases/scripts@2025-02-14' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    continueOnErrors: bool
    forceUpdateTag: 'string'
    managedIdentityResourceId: 'string'
    principalPermissionsAction: 'string'
    scriptContent: 'string'
    scriptLevel: 'string'
    scriptUrl: 'string'
    scriptUrlSasToken: 'string'
  }
}

Значения свойств

Microsoft.Kusto/clusters/databases/scripts

Имя Описание Ценность
имя Имя ресурса струна

Ограничения целостности:
Pattern = ^.*$ (обязательно)
родитель В Bicep можно указать родительский ресурс для дочернего ресурса. Это свойство необходимо добавить, только если дочерний ресурс объявлен за пределами родительского ресурса.

Дополнительные сведения см. в разделе Дочерний ресурс за пределами родительского ресурса.
Символьное имя ресурса типа: кластеры и базы данных
свойства Скрипт базы данных. ScriptProperties

ScriptProperties

Имя Описание Ценность
continueOnErrors Флаг, указывающий, следует ли продолжать работу, если одна из команд завершается ошибкой. булевая переменная (bool)
forceUpdateTag Уникальная строка. При изменении скрипта будет применен снова. струна
managedIdentityResourceId Идентификатор ресурса управляемой идентичности, используемой для использования. При предоставлении управляемый идентификатор будет использоваться для чтения содержимого скрипта из scriptUrl. струна
principalPermissionsAction Указывает, сохраняются ли разрешения для вызывающего скрипта после завершения скрипта. RemovePermissionOnScriptCompletion
"RetainPermissionOnScriptCompletion"
scriptContent Содержимое скрипта. Это свойство следует использовать, если скрипт предоставляет встроенный и не через файл в SA. Не следует использовать вместе со свойствами scriptUrl и scriptUrlSasToken. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
scriptLevel Отличается от типа команд скриптов, включенных в базу данных или кластер. По умолчанию используется база данных. "Кластер"
"База данных"
scriptUrl URL-адрес файла BLOB-объекта скрипта KQL. Не следует использовать вместе со свойством scriptContent струна
scriptUrlSasToken Маркер SaS, предоставляющий доступ на чтение к файлу, содержаму скрипт. Необходимо указать при использовании свойства scriptUrl. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.

Примеры использования

Примеры Bicep

Простой пример развертывания Kusto Script.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource cluster 'Microsoft.Kusto/clusters@2023-05-02' = {
  name: resourceName
  location: location
  properties: {
    enableAutoStop: true
    enableDiskEncryption: false
    enableDoubleEncryption: false
    enablePurge: false
    enableStreamingIngest: false
    engineType: 'V2'
    publicIPType: 'IPv4'
    publicNetworkAccess: 'Enabled'
    restrictOutboundNetworkAccess: 'Disabled'
    trustedExternalTenants: []
  }
  sku: {
    capacity: 1
    name: 'Dev(No SLA)_Standard_D11_v2'
    tier: 'Basic'
  }
}

resource database 'Microsoft.Kusto/clusters/databases@2023-05-02' = {
  parent: cluster
  name: resourceName
  location: location
  kind: 'ReadWrite'
  properties: {}
}

resource script 'Microsoft.Kusto/clusters/databases/scripts@2023-05-02' = {
  parent: database
  name: 'create-table-script'
  properties: {
    continueOnErrors: false
    forceUpdateTag: '9e2e7874-aa37-7041-81b7-06397f03a37d'
    scriptContent: '''.create table TestTable(Id:string, Name:string, _ts:long, _timestamp:datetime)
.create table TestTable ingestion json mapping "TestMapping"
''[''
''    {"column":"Id","path":"$.id"},''
''    {"column":"Name","path":"$.name"},''
''    {"column":"_ts","path":"$._ts"},''
''    {"column":"_timestamp","path":"$._ts", "transform":"DateTimeFromUnixSeconds"}''
'']''
.alter table TestTable policy ingestionbatching "{''MaximumBatchingTimeSpan'': ''0:0:10'', ''MaximumNumberOfItems'': 10000}"
'''
  }
}

Примеры быстрого запуска Azure

Следующие шаблоны быстрого запуска Azure содержат примеры Bicep для развертывания этого типа ресурса.

Bicep-файл Описание
Развертывание базы данных Azure Data Explorer с помощью подключения Cosmos DB Разверните базу данных Azure Data Explorer с подключением Cosmos DB.
Развертывание базы данных Azure Data Explorer с помощью подключения к сетке событий Разверните базу данных Azure Data Explorer с подключением сетки событий.
Развертывание базы данных Azure Data Explorer с помощью подключения к Концентратору событий Разверните базу данных Azure Data Explorer с подключением концентратора событий.
концентратора FinOps Этот шаблон создает новый экземпляр концентратора FinOps, включая Data Explorer, хранилище Data Lake и фабрику данных.

Определение ресурса шаблона ARM

Тип ресурса clusters/database/scripts можно развернуть с помощью операций, предназначенных для следующих целей:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.Kusto/clusters/databases/scripts, добавьте следующий код JSON в шаблон.

{
  "type": "Microsoft.Kusto/clusters/databases/scripts",
  "apiVersion": "2025-02-14",
  "name": "string",
  "properties": {
    "continueOnErrors": "bool",
    "forceUpdateTag": "string",
    "managedIdentityResourceId": "string",
    "principalPermissionsAction": "string",
    "scriptContent": "string",
    "scriptLevel": "string",
    "scriptUrl": "string",
    "scriptUrlSasToken": "string"
  }
}

Значения свойств

Microsoft.Kusto/clusters/databases/scripts

Имя Описание Ценность
apiVersion Версия API '2025-02-14'
имя Имя ресурса струна

Ограничения целостности:
Pattern = ^.*$ (обязательно)
свойства Скрипт базы данных. ScriptProperties
тип Тип ресурса "Microsoft.Kusto/clusters/database/scripts"

ScriptProperties

Имя Описание Ценность
continueOnErrors Флаг, указывающий, следует ли продолжать работу, если одна из команд завершается ошибкой. булевая переменная (bool)
forceUpdateTag Уникальная строка. При изменении скрипта будет применен снова. струна
managedIdentityResourceId Идентификатор ресурса управляемой идентичности, используемой для использования. При предоставлении управляемый идентификатор будет использоваться для чтения содержимого скрипта из scriptUrl. струна
principalPermissionsAction Указывает, сохраняются ли разрешения для вызывающего скрипта после завершения скрипта. RemovePermissionOnScriptCompletion
"RetainPermissionOnScriptCompletion"
scriptContent Содержимое скрипта. Это свойство следует использовать, если скрипт предоставляет встроенный и не через файл в SA. Не следует использовать вместе со свойствами scriptUrl и scriptUrlSasToken. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
scriptLevel Отличается от типа команд скриптов, включенных в базу данных или кластер. По умолчанию используется база данных. "Кластер"
"База данных"
scriptUrl URL-адрес файла BLOB-объекта скрипта KQL. Не следует использовать вместе со свойством scriptContent струна
scriptUrlSasToken Маркер SaS, предоставляющий доступ на чтение к файлу, содержаму скрипт. Необходимо указать при использовании свойства scriptUrl. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.

Примеры использования

Шаблоны быстрого запуска Azure

Следующие шаблоны быстрого запуска Azure развернуть этот тип ресурса.

Шаблон Описание
Развертывание базы данных Azure Data Explorer с помощью подключения Cosmos DB

развертывание в Azure
Разверните базу данных Azure Data Explorer с подключением Cosmos DB.
Развертывание базы данных Azure Data Explorer с помощью подключения к сетке событий

развертывание в Azure
Разверните базу данных Azure Data Explorer с подключением сетки событий.
Развертывание базы данных Azure Data Explorer с помощью подключения к Концентратору событий

развертывание в Azure
Разверните базу данных Azure Data Explorer с подключением концентратора событий.
концентратора FinOps

развертывание в Azure
Этот шаблон создает новый экземпляр концентратора FinOps, включая Data Explorer, хранилище Data Lake и фабрику данных.

Определение ресурса Terraform (поставщик AzAPI)

Тип ресурса clusters/database/scripts можно развернуть с помощью операций, предназначенных для следующих целей:

  • Группы ресурсов

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.Kusto/clusters/database/scripts, добавьте следующий объект Terraform в шаблон.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Kusto/clusters/databases/scripts@2025-02-14"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      continueOnErrors = bool
      forceUpdateTag = "string"
      managedIdentityResourceId = "string"
      principalPermissionsAction = "string"
      scriptContent = "string"
      scriptLevel = "string"
      scriptUrl = "string"
      scriptUrlSasToken = "string"
    }
  }
}

Значения свойств

Microsoft.Kusto/clusters/databases/scripts

Имя Описание Ценность
имя Имя ресурса струна

Ограничения целостности:
Pattern = ^.*$ (обязательно)
parent_id Идентификатор ресурса, который является родительским для этого ресурса. Идентификатор ресурса типа: кластеры или базы данных
свойства Скрипт базы данных. ScriptProperties
тип Тип ресурса "Microsoft.Kusto/clusters/databases/scripts@2025-02-14"

ScriptProperties

Имя Описание Ценность
continueOnErrors Флаг, указывающий, следует ли продолжать работу, если одна из команд завершается ошибкой. булевая переменная (bool)
forceUpdateTag Уникальная строка. При изменении скрипта будет применен снова. струна
managedIdentityResourceId Идентификатор ресурса управляемой идентичности, используемой для использования. При предоставлении управляемый идентификатор будет использоваться для чтения содержимого скрипта из scriptUrl. струна
principalPermissionsAction Указывает, сохраняются ли разрешения для вызывающего скрипта после завершения скрипта. RemovePermissionOnScriptCompletion
"RetainPermissionOnScriptCompletion"
scriptContent Содержимое скрипта. Это свойство следует использовать, если скрипт предоставляет встроенный и не через файл в SA. Не следует использовать вместе со свойствами scriptUrl и scriptUrlSasToken. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
scriptLevel Отличается от типа команд скриптов, включенных в базу данных или кластер. По умолчанию используется база данных. "Кластер"
"База данных"
scriptUrl URL-адрес файла BLOB-объекта скрипта KQL. Не следует использовать вместе со свойством scriptContent струна
scriptUrlSasToken Маркер SaS, предоставляющий доступ на чтение к файлу, содержаму скрипт. Необходимо указать при использовании свойства scriptUrl. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.

Примеры использования

Примеры Terraform

Простой пример развертывания Kusto Script.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "cluster" {
  type      = "Microsoft.Kusto/clusters@2023-05-02"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  identity {
    type         = "SystemAssigned"
    identity_ids = []
  }
  body = {
    properties = {
      enableAutoStop                = true
      enableDiskEncryption          = false
      enableDoubleEncryption        = false
      enablePurge                   = false
      enableStreamingIngest         = false
      engineType                    = "V2"
      publicIPType                  = "IPv4"
      publicNetworkAccess           = "Enabled"
      restrictOutboundNetworkAccess = "Disabled"
      trustedExternalTenants = [
      ]
    }
    sku = {
      capacity = 1
      name     = "Dev(No SLA)_Standard_D11_v2"
      tier     = "Basic"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "database" {
  type      = "Microsoft.Kusto/clusters/databases@2023-05-02"
  parent_id = azapi_resource.cluster.id
  name      = var.resource_name
  location  = var.location
  body = {
    kind = "ReadWrite"
    properties = {
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "script" {
  type      = "Microsoft.Kusto/clusters/databases/scripts@2023-05-02"
  parent_id = azapi_resource.database.id
  name      = "create-table-script"
  body = {
    properties = {
      continueOnErrors = false
      forceUpdateTag   = "9e2e7874-aa37-7041-81b7-06397f03a37d"
      scriptContent    = ".create table TestTable(Id:string, Name:string, _ts:long, _timestamp:datetime)\n.create table TestTable ingestion json mapping \"TestMapping\"\n'['\n'    {\"column\":\"Id\",\"path\":\"$.id\"},'\n'    {\"column\":\"Name\",\"path\":\"$.name\"},'\n'    {\"column\":\"_ts\",\"path\":\"$._ts\"},'\n'    {\"column\":\"_timestamp\",\"path\":\"$._ts\", \"transform\":\"DateTimeFromUnixSeconds\"}'\n']'\n.alter table TestTable policy ingestionbatching \"{'MaximumBatchingTimeSpan': '0:0:10', 'MaximumNumberOfItems': 10000}\"\n"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Простой пример развертывания Kusto Script.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "cluster" {
  type      = "Microsoft.Kusto/clusters@2023-05-02"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  identity {
    type         = "SystemAssigned"
    identity_ids = []
  }
  body = {
    properties = {
      enableAutoStop                = true
      enableDiskEncryption          = false
      enableDoubleEncryption        = false
      enablePurge                   = false
      enableStreamingIngest         = false
      engineType                    = "V2"
      publicIPType                  = "IPv4"
      publicNetworkAccess           = "Enabled"
      restrictOutboundNetworkAccess = "Disabled"
      trustedExternalTenants = [
      ]
    }
    sku = {
      capacity = 1
      name     = "Dev(No SLA)_Standard_D11_v2"
      tier     = "Basic"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "database" {
  type      = "Microsoft.Kusto/clusters/databases@2023-05-02"
  parent_id = azapi_resource.cluster.id
  name      = var.resource_name
  location  = var.location
  body = {
    kind = "ReadWrite"
    properties = {
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "script" {
  type      = "Microsoft.Kusto/clusters/databases/scripts@2023-05-02"
  parent_id = azapi_resource.database.id
  name      = "create-table-script"
  body = {
    properties = {
      continueOnErrors = false
      forceUpdateTag   = "9e2e7874-aa37-7041-81b7-06397f03a37d"
      scriptContent    = ".create table TestTable(Id:string, Name:string, _ts:long, _timestamp:datetime)\n.create table TestTable ingestion json mapping \"TestMapping\"\n'['\n'    {\"column\":\"Id\",\"path\":\"$.id\"},'\n'    {\"column\":\"Name\",\"path\":\"$.name\"},'\n'    {\"column\":\"_ts\",\"path\":\"$._ts\"},'\n'    {\"column\":\"_timestamp\",\"path\":\"$._ts\", \"transform\":\"DateTimeFromUnixSeconds\"}'\n']'\n.alter table TestTable policy ingestionbatching \"{'MaximumBatchingTimeSpan': '0:0:10', 'MaximumNumberOfItems': 10000}\"\n"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}