Bicep 리소스 정의
클러스터/데이터베이스/스크립트 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.Kusto/clusters/databases/scripts 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.
resource symbolicname 'Microsoft.Kusto/clusters/databases/scripts@2022-07-07' = {
parent: resourceSymbolicName
name: 'string'
properties: {
continueOnErrors: bool
forceUpdateTag: 'string'
scriptContent: 'string'
scriptUrl: 'string'
scriptUrlSasToken: 'string'
}
}
속성 값
Microsoft.Kusto/clusters/databases/scripts
| 이름 | 묘사 | 값 |
|---|---|---|
| 이름 | 리소스 이름 | string(필수) |
| 부모 | Bicep에서 자식 리소스에 대한 부모 리소스를 지정할 수 있습니다. 자식 리소스가 부모 리소스 외부에서 선언된 경우에만 이 속성을 추가해야 합니다. 자세한 내용은 부모 리소스외부의 자식 리소스 |
형식 리소스의 기호 이름: 클러스터/데이터베이스 |
| 속성 | 데이터베이스 스크립트입니다. | ScriptProperties |
ScriptProperties
| 이름 | 묘사 | 값 |
|---|---|---|
| continueOnErrors | 명령 중 하나가 실패할 경우 계속할지 여부를 나타내는 플래그입니다. | bool |
| forceUpdateTag | 고유한 문자열입니다. 변경된 경우 스크립트가 다시 적용됩니다. | 문자열 |
| scriptContent | 스크립트 콘텐츠입니다. 이 속성은 스크립트가 SA의 파일을 통하지 않고 인라인으로 제공될 때 사용해야 합니다. scriptUrl 및 scriptUrlSasToken 속성과 함께 사용하면 안 됩니다. | 문자열 제약 조건: 중요한 값입니다. 보안 매개 변수로 전달합니다. |
| scriptUrl | KQL 스크립트 Blob 파일의 URL입니다. scriptContent 속성과 함께 사용하면 안 됩니다. | 문자열 |
| scriptUrlSasToken | 스크립트를 포함하는 파일에 대한 읽기 액세스를 제공하는 SaS 토큰입니다. scriptUrl 속성을 사용할 때 제공해야 합니다. | 문자열 제약 조건: 중요한 값입니다. 보안 매개 변수로 전달합니다. |
사용 예제
Azure 빠른 시작 샘플
다음 Azure 빠른 시작 템플릿에는 이 리소스 유형을 배포하기 위한 Bicep 샘플이 포함되어 있습니다.
| Bicep 파일 | 묘사 |
|---|---|
| Cosmos DB 연결 사용하여 Azure Data Explorer DB 배포 | Cosmos DB 연결을 사용하여 Azure Data Explorer DB를 배포합니다. |
| Event Grid 연결 사용하여 Azure Data Explorer db 배포 |
Event Grid 연결을 사용하여 Azure Data Explorer db를 배포합니다. |
| 이벤트 허브 연결 사용하여 Azure Data Explorer db 배포 |
이벤트 허브 연결을 사용하여 Azure Data Explorer db를 배포합니다. |
| FinOps 허브 |
이 템플릿은 데이터 탐색기, Data Lake Storage 및 Data Factory를 비롯한 새 FinOps 허브 인스턴스를 만듭니다. |
ARM 템플릿 리소스 정의
클러스터/데이터베이스/스크립트 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.Kusto/clusters/databases/scripts 리소스를 만들려면 템플릿에 다음 JSON을 추가합니다.
{
"type": "Microsoft.Kusto/clusters/databases/scripts",
"apiVersion": "2022-07-07",
"name": "string",
"properties": {
"continueOnErrors": "bool",
"forceUpdateTag": "string",
"scriptContent": "string",
"scriptUrl": "string",
"scriptUrlSasToken": "string"
}
}
속성 값
Microsoft.Kusto/clusters/databases/scripts
| 이름 | 묘사 | 값 |
|---|---|---|
| apiVersion | api 버전 | '2022-07-07' |
| 이름 | 리소스 이름 | string(필수) |
| 속성 | 데이터베이스 스크립트입니다. | ScriptProperties |
| 형 | 리소스 종류 | 'Microsoft.Kusto/clusters/databases/scripts' |
ScriptProperties
| 이름 | 묘사 | 값 |
|---|---|---|
| continueOnErrors | 명령 중 하나가 실패할 경우 계속할지 여부를 나타내는 플래그입니다. | bool |
| forceUpdateTag | 고유한 문자열입니다. 변경된 경우 스크립트가 다시 적용됩니다. | 문자열 |
| scriptContent | 스크립트 콘텐츠입니다. 이 속성은 스크립트가 SA의 파일을 통하지 않고 인라인으로 제공될 때 사용해야 합니다. scriptUrl 및 scriptUrlSasToken 속성과 함께 사용하면 안 됩니다. | 문자열 제약 조건: 중요한 값입니다. 보안 매개 변수로 전달합니다. |
| scriptUrl | KQL 스크립트 Blob 파일의 URL입니다. scriptContent 속성과 함께 사용하면 안 됩니다. | 문자열 |
| scriptUrlSasToken | 스크립트를 포함하는 파일에 대한 읽기 액세스를 제공하는 SaS 토큰입니다. scriptUrl 속성을 사용할 때 제공해야 합니다. | 문자열 제약 조건: 중요한 값입니다. 보안 매개 변수로 전달합니다. |
사용 예제
Azure 빠른 시작 템플릿
다음 Azure 빠른 시작 템플릿은 이 리소스 유형을 배포할 있습니다.
| 템플렛 | 묘사 |
|---|---|
|
Cosmos DB 연결 사용하여 Azure Data Explorer DB 배포 Azure 배포 |
Cosmos DB 연결을 사용하여 Azure Data Explorer DB를 배포합니다. |
| Event Grid 연결 사용하여 Azure Data Explorer db 배포 Azure |
Event Grid 연결을 사용하여 Azure Data Explorer db를 배포합니다. |
| 이벤트 허브 연결 사용하여 Azure Data Explorer db 배포 Azure |
이벤트 허브 연결을 사용하여 Azure Data Explorer db를 배포합니다. |
| FinOps 허브 Azure |
이 템플릿은 데이터 탐색기, Data Lake Storage 및 Data Factory를 비롯한 새 FinOps 허브 인스턴스를 만듭니다. |
Terraform(AzAPI 공급자) 리소스 정의
클러스터/데이터베이스/스크립트 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.Kusto/clusters/databases/scripts 리소스를 만들려면 템플릿에 다음 Terraform을 추가합니다.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Kusto/clusters/databases/scripts@2022-07-07"
name = "string"
parent_id = "string"
body = {
properties = {
continueOnErrors = bool
forceUpdateTag = "string"
scriptContent = "string"
scriptUrl = "string"
scriptUrlSasToken = "string"
}
}
}
속성 값
Microsoft.Kusto/clusters/databases/scripts
| 이름 | 묘사 | 값 |
|---|---|---|
| 이름 | 리소스 이름 | string(필수) |
| parent_id | 이 리소스의 부모인 리소스의 ID입니다. | 유형의 리소스에 대한 ID: 클러스터/데이터베이스 |
| 속성 | 데이터베이스 스크립트입니다. | ScriptProperties |
| 형 | 리소스 종류 | "Microsoft.Kusto/clusters/databases/scripts@2022-07-07" |
ScriptProperties
| 이름 | 묘사 | 값 |
|---|---|---|
| continueOnErrors | 명령 중 하나가 실패할 경우 계속할지 여부를 나타내는 플래그입니다. | bool |
| forceUpdateTag | 고유한 문자열입니다. 변경된 경우 스크립트가 다시 적용됩니다. | 문자열 |
| scriptContent | 스크립트 콘텐츠입니다. 이 속성은 스크립트가 SA의 파일을 통하지 않고 인라인으로 제공될 때 사용해야 합니다. scriptUrl 및 scriptUrlSasToken 속성과 함께 사용하면 안 됩니다. | 문자열 제약 조건: 중요한 값입니다. 보안 매개 변수로 전달합니다. |
| scriptUrl | KQL 스크립트 Blob 파일의 URL입니다. scriptContent 속성과 함께 사용하면 안 됩니다. | 문자열 |
| scriptUrlSasToken | 스크립트를 포함하는 파일에 대한 읽기 액세스를 제공하는 SaS 토큰입니다. scriptUrl 속성을 사용할 때 제공해야 합니다. | 문자열 제약 조건: 중요한 값입니다. 보안 매개 변수로 전달합니다. |
사용 예제
Terraform 샘플
Kusto 스크립트 배포의 기본 예제입니다.
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 스크립트 배포의 기본 예제입니다.
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 = ["*"]
}