Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Definizione di risorsa Bicep
Il tipo di risorsa cluster può essere distribuito con operazioni destinate a:
Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.
Esempi di utilizzo
Esempi bicep
Esempio di base di distribuzione del cluster Kusto (noto anche come Esplora dati di Azure).
param resourceName string = 'acctest0001'
param location string = 'westeurope'
resource cluster 'Microsoft.Kusto/clusters@2023-05-02' = {
name: resourceName
location: location
sku: {
capacity: 1
name: 'Dev(No SLA)_Standard_D11_v2'
tier: 'Basic'
}
properties: {
enableAutoStop: true
enableDiskEncryption: false
enableDoubleEncryption: false
enablePurge: false
enableStreamingIngest: false
engineType: 'V2'
publicIPType: 'IPv4'
publicNetworkAccess: 'Enabled'
restrictOutboundNetworkAccess: 'Disabled'
trustedExternalTenants: []
}
}
Moduli verificati di Azure
Per distribuire questo tipo di risorsa, è possibile usare moduli verificati di Azure.
| Modulo | Descrizione |
|---|---|
| cluster di Esplora dati di Azure (Kusto) | Modulo di risorse AVM per il cluster Esplora dati di Azure (Kusto) |
Esempi di avvio rapido di Azure
I modelli di avvio rapido di Azure seguenti contengono esempi Bicep per la distribuzione di questo tipo di risorsa.
| File bicipite | Descrizione |
|---|---|
| Gemelli digitali di Azure con connessione cronologia dati temporali | Questo modello crea un'istanza di Gemelli digitali di Azure configurata con una connessione cronologia dati di serie temporali. Per creare una connessione, è necessario creare altre risorse, ad esempio uno spazio dei nomi di Hub eventi, un hub eventi, un cluster di Esplora dati di Azure e un database. I dati vengono inviati a un hub eventi che inoltra infine i dati al cluster di Esplora dati di Azure. I dati vengono archiviati in una tabella di database nel cluster |
| Creare un watcher di database | Questo esempio crea un watcher del database per SQL di Azure e configura l'archivio dati, le destinazioni SQL e gli endpoint privati gestiti |
| Distribuire Esplora dati di Azure DB con la connessione di Cosmos DB | Distribuire Esplora dati di Azure DB con la connessione Cosmos DB. |
| Distribuire il database di Esplora dati di Azure con la connessione di Griglia di eventi | Distribuire il database di Esplora dati di Azure con connessione griglia di eventi. |
| Distribuire il database di Esplora dati di Azure con la connessione a Hub eventi | Distribuire il database di Esplora dati di Azure con la connessione a Hub eventi. |
| hub FinOps | Questo modello crea una nuova istanza dell'hub FinOps, tra cui Esplora dati, Data Lake Storage e Data Factory. |
Formato risorsa
Per creare una risorsa Microsoft.Kusto/clusters, aggiungere il bicep seguente al modello.
resource symbolicname 'Microsoft.Kusto/clusters@2025-02-14' = {
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
location: 'string'
name: 'string'
properties: {
acceptedAudiences: [
{
value: 'string'
}
]
allowedFqdnList: [
'string'
]
allowedIpRangeList: [
'string'
]
calloutPolicies: [
{
calloutType: 'string'
calloutUriRegex: 'string'
outboundAccess: 'string'
}
]
enableAutoStop: bool
enableDiskEncryption: bool
enableDoubleEncryption: bool
enablePurge: bool
enableStreamingIngest: bool
engineType: 'string'
keyVaultProperties: {
federatedIdentityClientId: 'string'
keyName: 'string'
keyVaultUri: 'string'
keyVersion: 'string'
userIdentity: 'string'
}
languageExtensions: {
nextLink: 'string'
value: [
{
languageExtensionCustomImageName: 'string'
languageExtensionImageName: 'string'
languageExtensionName: 'string'
}
]
}
optimizedAutoscale: {
isEnabled: bool
maximum: int
minimum: int
version: int
}
publicIPType: 'string'
publicNetworkAccess: 'string'
restrictOutboundNetworkAccess: 'string'
trustedExternalTenants: [
{
value: 'string'
}
]
virtualClusterGraduationProperties: 'string'
virtualNetworkConfiguration: {
dataManagementPublicIpId: 'string'
enginePublicIpId: 'string'
state: 'string'
subnetId: 'string'
}
}
sku: {
capacity: int
name: 'string'
tier: 'string'
}
tags: {
{customized property}: 'string'
}
zones: [
'string'
]
}
Valori delle proprietà
Microsoft.Kusto/clusters
| Nome | Descrizione | Valore |
|---|---|---|
| identità | Identità del cluster, se configurata. | identity |
| ubicazione | Posizione geografica in cui risiede la risorsa | stringa (obbligatorio) |
| nome | Nome della risorsa | corda Vincoli: Pattern = ^.*$ (obbligatorio) |
| proprietà | Proprietà del cluster. | |
| Sku | SKU del cluster. | AzureSku (obbligatorio) |
| Tag | Tag delle risorse | Dizionario di nomi e valori di tag. Vedere tag nei modelli |
| Zone | Zone di disponibilità. | stringa[] |
AccettatoPubblico
| Nome | Descrizione | Valore |
|---|---|---|
| valore | GUID o URL valido che rappresenta un gruppo di destinatari accettato. | corda |
AzureSku
| Nome | Descrizione | Valore |
|---|---|---|
| capacità | Numero di istanze del cluster. | Int |
| nome | Nome SKU. | 'Dev(Nessuno SLA)_Standard_D11_v2' 'Dev(Nessuno SLA)_Standard_E2a_v4' 'Standard_D11_v2' 'Standard_D12_v2' 'Standard_D13_v2' 'Standard_D14_v2' 'Standard_D16d_v5' 'Standard_D32d_v4' 'Standard_D32d_v5' 'Standard_DS13_v2+1TB_PS' 'Standard_DS13_v2+2TB_PS' 'Standard_DS14_v2+3TB_PS' 'Standard_DS14_v2+4TB_PS' 'Standard_E16ads_v5' 'Standard_E16as_v4+3TB_PS' 'Standard_E16as_v4+4TB_PS' 'Standard_E16as_v5+3TB_PS' 'Standard_E16as_v5+4TB_PS' 'Standard_E16a_v4' 'Standard_E16d_v4' 'Standard_E16d_v5' 'Standard_E16s_v4+3TB_PS' 'Standard_E16s_v4+4TB_PS' 'Standard_E16s_v5+3TB_PS' 'Standard_E16s_v5+4TB_PS' 'Standard_E2ads_v5' 'Standard_E2a_v4' 'Standard_E2d_v4' 'Standard_E2d_v5' 'Standard_E4ads_v5' 'Standard_E4a_v4' 'Standard_E4d_v4' 'Standard_E4d_v5' 'Standard_E64i_v3' 'Standard_E80ids_v4' 'Standard_E8ads_v5' 'Standard_E8as_v4+1TB_PS' 'Standard_E8as_v4+2TB_PS' 'Standard_E8as_v5+1TB_PS' 'Standard_E8as_v5+2TB_PS' 'Standard_E8a_v4' 'Standard_E8d_v4' 'Standard_E8d_v5' 'Standard_E8s_v4+1TB_PS' 'Standard_E8s_v4+2TB_PS' 'Standard_E8s_v5+1TB_PS' 'Standard_E8s_v5+2TB_PS' 'Standard_EC16ads_v5' 'Standard_EC16as_v5+3TB_PS' 'Standard_EC16as_v5+4TB_PS' 'Standard_EC8ads_v5' 'Standard_EC8as_v5+1TB_PS' 'Standard_EC8as_v5+2TB_PS' 'Standard_L16as_v3' 'Standard_L16s' 'Standard_L16s_v2' 'Standard_L16s_v3' 'Standard_L32as_v3' 'Standard_L32s_v3' 'Standard_L4s' 'Standard_L8as_v3' 'Standard_L8s' 'Standard_L8s_v2' 'Standard_L8s_v3' (obbligatorio) |
| livello | Livello SKU. | 'Di base' 'Standard' (obbligatorio) |
Politica di callout
| Nome | Descrizione | Valore |
|---|---|---|
| calloutType | Tipo del servizio callout, specificando il tipo di risorsa esterna o servizio a cui si accede. | 'azure_digital_twins' 'azure_openai' 'cosmosdb' 'external_data' 'Ginevrametria' 'Kusto' 'mysql' 'PostgreSQL' 'sandbox_artifacts' 'SQL' 'webapi' |
| calloutUriRegex | Espressione regolare o modello FQDN per l'URI del callout. | corda |
| outboundAccess | Indica se l'accesso in uscita è consentito per il modello URI specificato. | 'Consenti' 'Negare' |
Proprietà cluster
| Nome | Descrizione | Valore |
|---|---|---|
| acceptedAudiences | Destinatari accettati dal cluster. | acceptedAudiences[] |
| allowedFqdnList | Elenco di nomi di dominio completi consentiti (nome di dominio completo) per l'uscita dal cluster. | stringa[] |
| allowedIpRangeList | Elenco di indirizzi IP nel formato CIDR consentito per la connessione al cluster. | stringa[] |
| calloutPolicies | Elenco dei criteri di callout per l'uscita dal cluster. | CalloutPolicy[] |
| abilita AutoStop | Valore booleano che indica se il cluster potrebbe essere arrestato automaticamente (a causa della mancanza di dati o di nessuna attività per molti giorni). | Bool |
| enableDiskEncryption | Valore booleano che indica se i dischi del cluster sono crittografati. | Bool |
| enableDoubleEncryption | Valore booleano che indica se la crittografia doppia è abilitata. | Bool |
| enablePurge | Valore booleano che indica se le operazioni di eliminazione sono abilitate. | Bool |
| enableStreamingIngest | Valore booleano che indica se l'inserimento di streaming è abilitato. | Bool |
| Tipo di motore | Tipo di motore | 'V2' 'V3' |
| keyVaultProperties | Proprietà dell'insieme di credenziali delle chiavi per la crittografia del cluster. | KeyVaultProperties |
| languageExtensions | Elenco delle estensioni del linguaggio del cluster. | LanguageExtensionsList |
| ottimizzatoAutoscale | Definizione di scalabilità automatica ottimizzata. | OptimizedAutoscale |
| publicIPType | Indica il tipo di IP pubblico da creare: IPv4 (impostazione predefinita) o DualStack (IPv4 e IPv6) | 'DualStack' «IPv4» |
| pubblicoAccesso alla rete | L'accesso alla rete pubblica al cluster è abilitato per impostazione predefinita. Se disabilitata, è consentita solo la connessione all'endpoint privato al cluster | 'Disabilitato' 'Abilitato' 'SecuredByPerimeter' |
| restrictOutboundNetworkAccess | Indica se limitare o meno l'accesso alla rete in uscita. Il valore è facoltativo, ma se passato, deve essere 'Enabled' o 'Disabled' | 'Disabilitato' 'Abilitato' |
| trustedExternalTenants | Tenant esterni del cluster. | TrustedExternalTenant[] |
| virtualClusterGraduationProperties | Proprietà di laurea del cluster virtuale | corda Vincoli: Valore sensibile. Passare come parametro sicuro. |
| virtualNetworkConfiguration | Definizione della rete virtuale. | Configurazione di VirtualNetwork |
ComponentiSgqdofSchemiIdentitàProprietàIdentità assegnateAggiuntiveproprietà
| Nome | Descrizione | Valore |
|---|
Identità
| Nome | Descrizione | Valore |
|---|---|---|
| digitare | Tipo di identità gestita usata. Il tipo 'SystemAssigned, UserAssigned' include sia un'identità creata in modo implicito che un set di identità assegnate dall'utente. Il tipo 'None' rimuoverà tutte le identità. | 'Nessuno' 'Assegnato dal sistema' 'SystemAssigned, UserAssigned' 'UserAssigned' (obbligatorio) |
| userAssignedIdentities | Elenco delle identità utente associate al cluster Kusto. I riferimenti alla chiave del dizionario delle identità utente saranno id risorsa ARM nel formato :'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. | IdentitàUtenteAssegnatoIdentità |
IdentitàUtenteAssegnatoIdentità
| Nome | Descrizione | Valore |
|---|
KeyVaultProperties
| Nome | Descrizione | Valore |
|---|---|---|
| federatedIdentityClientId | L'ID dell'applicazione (client) dell'applicazione multi-tenant Microsoft Entra. Utilizzato per scenari di chiave gestite dal cliente cross-tenant in cui la chiave di crittografia è memorizzata in un tenant diverso rispetto al cluster. L'applicazione deve essere configurata con l'identità gestita assegnata dall'utente come credenziale di identità federata. | corda |
| keyName | Nome della chiave dell'insieme di credenziali delle chiavi. | corda |
| keyVaultUri | URI dell'insieme di credenziali delle chiavi. | corda |
| keyVersion | Versione della chiave dell'insieme di credenziali delle chiavi. | corda |
| Identità utente | Identità assegnata dall'utente (ID risorsa ARM) che ha accesso alla chiave. L'identità deve avere i permessi 'Get', 'Wrap Key' e 'Unwrap Key' sulla chiave di Key Vault, oppure deve essere assegnata al ruolo 'Key Vault Crypto Service Encryption User'. | corda |
LanguageExtension
| Nome | Descrizione | Valore |
|---|---|---|
| languageExtensionCustomImageName | Il nome dell'immagine personalizzata del sandbox dovrebbe essere abilitato come estensione linguistica attiva. L'immagine personalizzata sandbox è una risorsa di cluster sub. Quando questa proprietà è impostata, LanguageExtensionImageName dovrebbe essere impostato su 'PythonCustomImage'. | corda |
| languageExtensionImageName | Nome dell'immagine dell'estensione del linguaggio. | 'Python3_10_8' 'Python3_10_8_DL' 'Python3_11_7' 'Python3_11_7_DL' 'Python3_6_5' 'PythonCustomImage' 'R' |
| languageExtensionName | Nome dell'estensione del linguaggio. | 'PITONE' 'R' |
LanguageExtensionsList
| Nome | Descrizione | Valore |
|---|---|---|
| nextLink | Il link alla pagina successiva di risorse. | corda |
| valore | Elenco di estensioni del linguaggio. | LanguageExtension[] |
OptimizedAutoscale
| Nome | Descrizione | Valore |
|---|---|---|
| èAbilitato | Valore booleano che indica se la funzionalità di scalabilità automatica ottimizzata è abilitata o meno. | bool (obbligatorio) |
| massimo | Numero massimo di istanze consentite. | int (obbligatorio) |
| minimo | Numero minimo di istanze consentite. | int (obbligatorio) |
| Versione | Versione del modello definita, ad esempio 1. | int (obbligatorio) |
TrackedResourceTags
| Nome | Descrizione | Valore |
|---|
TrustedExternalTenant
| Nome | Descrizione | Valore |
|---|---|---|
| valore | GUID che rappresenta un tenant esterno. | corda |
Configurazione di VirtualNetwork
| Nome | Descrizione | Valore |
|---|---|---|
| datiManagementPublicIpId | ID risorsa indirizzo IP pubblico del servizio di gestione dei dati. | stringa (obbligatorio) |
| enginePublicIpId | ID risorsa indirizzo IP pubblico del servizio motore. | stringa (obbligatorio) |
| stato | Se abilitato, il cluster viene distribuito nella subnet configurata, quando disabilitato verrà rimosso dalla subnet. | 'Disabilitato' 'Abilitato' |
| subnetId | ID risorsa subnet. | stringa (obbligatorio) |
Definizione di risorsa del modello di Resource Manager
Il tipo di risorsa cluster può essere distribuito con operazioni destinate a:
- Gruppi di risorse - Vedi comandi di distribuzione dei gruppi di risorse Per un elenco delle proprietà modificate in ciascuna versione API, vedi registro delle modifiche.
Esempi di utilizzo
Modelli di avvio rapido di Azure
I modelli di avvio rapido di Azure seguenti distribuire questo tipo di risorsa.
| Sagoma | Descrizione |
|---|---|
|
Gemelli digitali di Azure con connessione cronologia dati temporali |
Questo modello crea un'istanza di Gemelli digitali di Azure configurata con una connessione cronologia dati di serie temporali. Per creare una connessione, è necessario creare altre risorse, ad esempio uno spazio dei nomi di Hub eventi, un hub eventi, un cluster di Esplora dati di Azure e un database. I dati vengono inviati a un hub eventi che inoltra infine i dati al cluster di Esplora dati di Azure. I dati vengono archiviati in una tabella di database nel cluster |
|
Creare un cluster di un database |
Questo modello consente di creare un cluster e un database. |
|
Creare un watcher di database |
Questo esempio crea un watcher del database per SQL di Azure e configura l'archivio dati, le destinazioni SQL e gli endpoint privati gestiti |
|
Distribuire un cluster di Esplora dati di Azure nella rete virtuale |
Questo modello consente di distribuire un cluster nella rete virtuale. |
|
Distribuire Esplora dati di Azure DB con la connessione di Cosmos DB |
Distribuire Esplora dati di Azure DB con la connessione Cosmos DB. |
|
Distribuire il database di Esplora dati di Azure con la connessione di Griglia di eventi |
Distribuire il database di Esplora dati di Azure con connessione griglia di eventi. |
|
Distribuire il database di Esplora dati di Azure con la connessione a Hub eventi |
Distribuire il database di Esplora dati di Azure con la connessione a Hub eventi. |
|
hub FinOps |
Questo modello crea una nuova istanza dell'hub FinOps, tra cui Esplora dati, Data Lake Storage e Data Factory. |
Formato risorsa
Per creare una risorsa Microsoft.Kusto/clusters, aggiungere il codice JSON seguente al modello.
{
"type": "Microsoft.Kusto/clusters",
"apiVersion": "2025-02-14",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"location": "string",
"properties": {
"acceptedAudiences": [
{
"value": "string"
}
],
"allowedFqdnList": [ "string" ],
"allowedIpRangeList": [ "string" ],
"calloutPolicies": [
{
"calloutType": "string",
"calloutUriRegex": "string",
"outboundAccess": "string"
}
],
"enableAutoStop": "bool",
"enableDiskEncryption": "bool",
"enableDoubleEncryption": "bool",
"enablePurge": "bool",
"enableStreamingIngest": "bool",
"engineType": "string",
"keyVaultProperties": {
"federatedIdentityClientId": "string",
"keyName": "string",
"keyVaultUri": "string",
"keyVersion": "string",
"userIdentity": "string"
},
"languageExtensions": {
"nextLink": "string",
"value": [
{
"languageExtensionCustomImageName": "string",
"languageExtensionImageName": "string",
"languageExtensionName": "string"
}
]
},
"optimizedAutoscale": {
"isEnabled": "bool",
"maximum": "int",
"minimum": "int",
"version": "int"
},
"publicIPType": "string",
"publicNetworkAccess": "string",
"restrictOutboundNetworkAccess": "string",
"trustedExternalTenants": [
{
"value": "string"
}
],
"virtualClusterGraduationProperties": "string",
"virtualNetworkConfiguration": {
"dataManagementPublicIpId": "string",
"enginePublicIpId": "string",
"state": "string",
"subnetId": "string"
}
},
"sku": {
"capacity": "int",
"name": "string",
"tier": "string"
},
"tags": {
"{customized property}": "string"
},
"zones": [ "string" ]
}
Valori delle proprietà
Microsoft.Kusto/clusters
| Nome | Descrizione | Valore |
|---|---|---|
| versione dell'API | Versione dell'API | '2025-02-14' |
| identità | Identità del cluster, se configurata. | identity |
| ubicazione | Posizione geografica in cui risiede la risorsa | stringa (obbligatorio) |
| nome | Nome della risorsa | corda Vincoli: Pattern = ^.*$ (obbligatorio) |
| proprietà | Proprietà del cluster. | |
| Sku | SKU del cluster. | AzureSku (obbligatorio) |
| Tag | Tag delle risorse | Dizionario di nomi e valori di tag. Vedere tag nei modelli |
| digitare | Tipo di risorsa | 'Microsoft.Kusto/clusters' |
| Zone | Zone di disponibilità. | stringa[] |
AccettatoPubblico
| Nome | Descrizione | Valore |
|---|---|---|
| valore | GUID o URL valido che rappresenta un gruppo di destinatari accettato. | corda |
AzureSku
| Nome | Descrizione | Valore |
|---|---|---|
| capacità | Numero di istanze del cluster. | Int |
| nome | Nome SKU. | 'Dev(Nessuno SLA)_Standard_D11_v2' 'Dev(Nessuno SLA)_Standard_E2a_v4' 'Standard_D11_v2' 'Standard_D12_v2' 'Standard_D13_v2' 'Standard_D14_v2' 'Standard_D16d_v5' 'Standard_D32d_v4' 'Standard_D32d_v5' 'Standard_DS13_v2+1TB_PS' 'Standard_DS13_v2+2TB_PS' 'Standard_DS14_v2+3TB_PS' 'Standard_DS14_v2+4TB_PS' 'Standard_E16ads_v5' 'Standard_E16as_v4+3TB_PS' 'Standard_E16as_v4+4TB_PS' 'Standard_E16as_v5+3TB_PS' 'Standard_E16as_v5+4TB_PS' 'Standard_E16a_v4' 'Standard_E16d_v4' 'Standard_E16d_v5' 'Standard_E16s_v4+3TB_PS' 'Standard_E16s_v4+4TB_PS' 'Standard_E16s_v5+3TB_PS' 'Standard_E16s_v5+4TB_PS' 'Standard_E2ads_v5' 'Standard_E2a_v4' 'Standard_E2d_v4' 'Standard_E2d_v5' 'Standard_E4ads_v5' 'Standard_E4a_v4' 'Standard_E4d_v4' 'Standard_E4d_v5' 'Standard_E64i_v3' 'Standard_E80ids_v4' 'Standard_E8ads_v5' 'Standard_E8as_v4+1TB_PS' 'Standard_E8as_v4+2TB_PS' 'Standard_E8as_v5+1TB_PS' 'Standard_E8as_v5+2TB_PS' 'Standard_E8a_v4' 'Standard_E8d_v4' 'Standard_E8d_v5' 'Standard_E8s_v4+1TB_PS' 'Standard_E8s_v4+2TB_PS' 'Standard_E8s_v5+1TB_PS' 'Standard_E8s_v5+2TB_PS' 'Standard_EC16ads_v5' 'Standard_EC16as_v5+3TB_PS' 'Standard_EC16as_v5+4TB_PS' 'Standard_EC8ads_v5' 'Standard_EC8as_v5+1TB_PS' 'Standard_EC8as_v5+2TB_PS' 'Standard_L16as_v3' 'Standard_L16s' 'Standard_L16s_v2' 'Standard_L16s_v3' 'Standard_L32as_v3' 'Standard_L32s_v3' 'Standard_L4s' 'Standard_L8as_v3' 'Standard_L8s' 'Standard_L8s_v2' 'Standard_L8s_v3' (obbligatorio) |
| livello | Livello SKU. | 'Di base' 'Standard' (obbligatorio) |
Politica di callout
| Nome | Descrizione | Valore |
|---|---|---|
| calloutType | Tipo del servizio callout, specificando il tipo di risorsa esterna o servizio a cui si accede. | 'azure_digital_twins' 'azure_openai' 'cosmosdb' 'external_data' 'Ginevrametria' 'Kusto' 'mysql' 'PostgreSQL' 'sandbox_artifacts' 'SQL' 'webapi' |
| calloutUriRegex | Espressione regolare o modello FQDN per l'URI del callout. | corda |
| outboundAccess | Indica se l'accesso in uscita è consentito per il modello URI specificato. | 'Consenti' 'Negare' |
Proprietà cluster
| Nome | Descrizione | Valore |
|---|---|---|
| acceptedAudiences | Destinatari accettati dal cluster. | acceptedAudiences[] |
| allowedFqdnList | Elenco di nomi di dominio completi consentiti (nome di dominio completo) per l'uscita dal cluster. | stringa[] |
| allowedIpRangeList | Elenco di indirizzi IP nel formato CIDR consentito per la connessione al cluster. | stringa[] |
| calloutPolicies | Elenco dei criteri di callout per l'uscita dal cluster. | CalloutPolicy[] |
| abilita AutoStop | Valore booleano che indica se il cluster potrebbe essere arrestato automaticamente (a causa della mancanza di dati o di nessuna attività per molti giorni). | Bool |
| enableDiskEncryption | Valore booleano che indica se i dischi del cluster sono crittografati. | Bool |
| enableDoubleEncryption | Valore booleano che indica se la crittografia doppia è abilitata. | Bool |
| enablePurge | Valore booleano che indica se le operazioni di eliminazione sono abilitate. | Bool |
| enableStreamingIngest | Valore booleano che indica se l'inserimento di streaming è abilitato. | Bool |
| Tipo di motore | Tipo di motore | 'V2' 'V3' |
| keyVaultProperties | Proprietà dell'insieme di credenziali delle chiavi per la crittografia del cluster. | KeyVaultProperties |
| languageExtensions | Elenco delle estensioni del linguaggio del cluster. | LanguageExtensionsList |
| ottimizzatoAutoscale | Definizione di scalabilità automatica ottimizzata. | OptimizedAutoscale |
| publicIPType | Indica il tipo di IP pubblico da creare: IPv4 (impostazione predefinita) o DualStack (IPv4 e IPv6) | 'DualStack' «IPv4» |
| pubblicoAccesso alla rete | L'accesso alla rete pubblica al cluster è abilitato per impostazione predefinita. Se disabilitata, è consentita solo la connessione all'endpoint privato al cluster | 'Disabilitato' 'Abilitato' 'SecuredByPerimeter' |
| restrictOutboundNetworkAccess | Indica se limitare o meno l'accesso alla rete in uscita. Il valore è facoltativo, ma se passato, deve essere 'Enabled' o 'Disabled' | 'Disabilitato' 'Abilitato' |
| trustedExternalTenants | Tenant esterni del cluster. | TrustedExternalTenant[] |
| virtualClusterGraduationProperties | Proprietà di laurea del cluster virtuale | corda Vincoli: Valore sensibile. Passare come parametro sicuro. |
| virtualNetworkConfiguration | Definizione della rete virtuale. | Configurazione di VirtualNetwork |
ComponentiSgqdofSchemiIdentitàProprietàIdentità assegnateAggiuntiveproprietà
| Nome | Descrizione | Valore |
|---|
Identità
| Nome | Descrizione | Valore |
|---|---|---|
| digitare | Tipo di identità gestita usata. Il tipo 'SystemAssigned, UserAssigned' include sia un'identità creata in modo implicito che un set di identità assegnate dall'utente. Il tipo 'None' rimuoverà tutte le identità. | 'Nessuno' 'Assegnato dal sistema' 'SystemAssigned, UserAssigned' 'UserAssigned' (obbligatorio) |
| userAssignedIdentities | Elenco delle identità utente associate al cluster Kusto. I riferimenti alla chiave del dizionario delle identità utente saranno id risorsa ARM nel formato :'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. | IdentitàUtenteAssegnatoIdentità |
IdentitàUtenteAssegnatoIdentità
| Nome | Descrizione | Valore |
|---|
KeyVaultProperties
| Nome | Descrizione | Valore |
|---|---|---|
| federatedIdentityClientId | L'ID dell'applicazione (client) dell'applicazione multi-tenant Microsoft Entra. Utilizzato per scenari di chiave gestite dal cliente cross-tenant in cui la chiave di crittografia è memorizzata in un tenant diverso rispetto al cluster. L'applicazione deve essere configurata con l'identità gestita assegnata dall'utente come credenziale di identità federata. | corda |
| keyName | Nome della chiave dell'insieme di credenziali delle chiavi. | corda |
| keyVaultUri | URI dell'insieme di credenziali delle chiavi. | corda |
| keyVersion | Versione della chiave dell'insieme di credenziali delle chiavi. | corda |
| Identità utente | Identità assegnata dall'utente (ID risorsa ARM) che ha accesso alla chiave. L'identità deve avere i permessi 'Get', 'Wrap Key' e 'Unwrap Key' sulla chiave di Key Vault, oppure deve essere assegnata al ruolo 'Key Vault Crypto Service Encryption User'. | corda |
LanguageExtension
| Nome | Descrizione | Valore |
|---|---|---|
| languageExtensionCustomImageName | Il nome dell'immagine personalizzata del sandbox dovrebbe essere abilitato come estensione linguistica attiva. L'immagine personalizzata sandbox è una risorsa di cluster sub. Quando questa proprietà è impostata, LanguageExtensionImageName dovrebbe essere impostato su 'PythonCustomImage'. | corda |
| languageExtensionImageName | Nome dell'immagine dell'estensione del linguaggio. | 'Python3_10_8' 'Python3_10_8_DL' 'Python3_11_7' 'Python3_11_7_DL' 'Python3_6_5' 'PythonCustomImage' 'R' |
| languageExtensionName | Nome dell'estensione del linguaggio. | 'PITONE' 'R' |
LanguageExtensionsList
| Nome | Descrizione | Valore |
|---|---|---|
| nextLink | Il link alla pagina successiva di risorse. | corda |
| valore | Elenco di estensioni del linguaggio. | LanguageExtension[] |
OptimizedAutoscale
| Nome | Descrizione | Valore |
|---|---|---|
| èAbilitato | Valore booleano che indica se la funzionalità di scalabilità automatica ottimizzata è abilitata o meno. | bool (obbligatorio) |
| massimo | Numero massimo di istanze consentite. | int (obbligatorio) |
| minimo | Numero minimo di istanze consentite. | int (obbligatorio) |
| Versione | Versione del modello definita, ad esempio 1. | int (obbligatorio) |
TrackedResourceTags
| Nome | Descrizione | Valore |
|---|
TrustedExternalTenant
| Nome | Descrizione | Valore |
|---|---|---|
| valore | GUID che rappresenta un tenant esterno. | corda |
Configurazione di VirtualNetwork
| Nome | Descrizione | Valore |
|---|---|---|
| datiManagementPublicIpId | ID risorsa indirizzo IP pubblico del servizio di gestione dei dati. | stringa (obbligatorio) |
| enginePublicIpId | ID risorsa indirizzo IP pubblico del servizio motore. | stringa (obbligatorio) |
| stato | Se abilitato, il cluster viene distribuito nella subnet configurata, quando disabilitato verrà rimosso dalla subnet. | 'Disabilitato' 'Abilitato' |
| subnetId | ID risorsa subnet. | stringa (obbligatorio) |
Definizione di risorsa Terraform (provider AzAPI)
Il tipo di risorsa cluster può essere distribuito con operazioni destinate a:
- Gruppi di risorse Per un elenco delle proprietà modificate in ogni versione dell'API, vedi il registro modifiche.
Esempi di utilizzo
Esempi di Terraform
Esempio di base di distribuzione del cluster Kusto (noto anche come Esplora dati di Azure).
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
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 = ["*"]
}
Esempio di base di distribuzione del cluster Kusto (noto anche come Esplora dati di Azure).
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
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 = ["*"]
}
Moduli verificati di Azure
Per distribuire questo tipo di risorsa, è possibile usare moduli verificati di Azure.
| Modulo | Descrizione |
|---|---|
| cluster Kusto | Modulo di risorse AVM per cluster Kusto |
Formato risorsa
Per creare una risorsa Microsoft.Kusto/clusters, aggiungere il codice Terraform seguente al modello.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Kusto/clusters@2025-02-14"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
acceptedAudiences = [
{
value = "string"
}
]
allowedFqdnList = [
"string"
]
allowedIpRangeList = [
"string"
]
calloutPolicies = [
{
calloutType = "string"
calloutUriRegex = "string"
outboundAccess = "string"
}
]
enableAutoStop = bool
enableDiskEncryption = bool
enableDoubleEncryption = bool
enablePurge = bool
enableStreamingIngest = bool
engineType = "string"
keyVaultProperties = {
federatedIdentityClientId = "string"
keyName = "string"
keyVaultUri = "string"
keyVersion = "string"
userIdentity = "string"
}
languageExtensions = {
nextLink = "string"
value = [
{
languageExtensionCustomImageName = "string"
languageExtensionImageName = "string"
languageExtensionName = "string"
}
]
}
optimizedAutoscale = {
isEnabled = bool
maximum = int
minimum = int
version = int
}
publicIPType = "string"
publicNetworkAccess = "string"
restrictOutboundNetworkAccess = "string"
trustedExternalTenants = [
{
value = "string"
}
]
virtualClusterGraduationProperties = "string"
virtualNetworkConfiguration = {
dataManagementPublicIpId = "string"
enginePublicIpId = "string"
state = "string"
subnetId = "string"
}
}
sku = {
capacity = int
name = "string"
tier = "string"
}
zones = [
"string"
]
}
}
Valori delle proprietà
Microsoft.Kusto/clusters
| Nome | Descrizione | Valore |
|---|---|---|
| identità | Identità del cluster, se configurata. | identity |
| ubicazione | Posizione geografica in cui risiede la risorsa | stringa (obbligatorio) |
| nome | Nome della risorsa | corda Vincoli: Pattern = ^.*$ (obbligatorio) |
| proprietà | Proprietà del cluster. | |
| Sku | SKU del cluster. | AzureSku (obbligatorio) |
| Tag | Tag delle risorse | Dizionario di nomi e valori di tag. |
| digitare | Tipo di risorsa | "Microsoft.Kusto/clusters@2025-02-14" |
| Zone | Zone di disponibilità. | stringa[] |
AccettatoPubblico
| Nome | Descrizione | Valore |
|---|---|---|
| valore | GUID o URL valido che rappresenta un gruppo di destinatari accettato. | corda |
AzureSku
| Nome | Descrizione | Valore |
|---|---|---|
| capacità | Numero di istanze del cluster. | Int |
| nome | Nome SKU. | 'Dev(Nessuno SLA)_Standard_D11_v2' 'Dev(Nessuno SLA)_Standard_E2a_v4' 'Standard_D11_v2' 'Standard_D12_v2' 'Standard_D13_v2' 'Standard_D14_v2' 'Standard_D16d_v5' 'Standard_D32d_v4' 'Standard_D32d_v5' 'Standard_DS13_v2+1TB_PS' 'Standard_DS13_v2+2TB_PS' 'Standard_DS14_v2+3TB_PS' 'Standard_DS14_v2+4TB_PS' 'Standard_E16ads_v5' 'Standard_E16as_v4+3TB_PS' 'Standard_E16as_v4+4TB_PS' 'Standard_E16as_v5+3TB_PS' 'Standard_E16as_v5+4TB_PS' 'Standard_E16a_v4' 'Standard_E16d_v4' 'Standard_E16d_v5' 'Standard_E16s_v4+3TB_PS' 'Standard_E16s_v4+4TB_PS' 'Standard_E16s_v5+3TB_PS' 'Standard_E16s_v5+4TB_PS' 'Standard_E2ads_v5' 'Standard_E2a_v4' 'Standard_E2d_v4' 'Standard_E2d_v5' 'Standard_E4ads_v5' 'Standard_E4a_v4' 'Standard_E4d_v4' 'Standard_E4d_v5' 'Standard_E64i_v3' 'Standard_E80ids_v4' 'Standard_E8ads_v5' 'Standard_E8as_v4+1TB_PS' 'Standard_E8as_v4+2TB_PS' 'Standard_E8as_v5+1TB_PS' 'Standard_E8as_v5+2TB_PS' 'Standard_E8a_v4' 'Standard_E8d_v4' 'Standard_E8d_v5' 'Standard_E8s_v4+1TB_PS' 'Standard_E8s_v4+2TB_PS' 'Standard_E8s_v5+1TB_PS' 'Standard_E8s_v5+2TB_PS' 'Standard_EC16ads_v5' 'Standard_EC16as_v5+3TB_PS' 'Standard_EC16as_v5+4TB_PS' 'Standard_EC8ads_v5' 'Standard_EC8as_v5+1TB_PS' 'Standard_EC8as_v5+2TB_PS' 'Standard_L16as_v3' 'Standard_L16s' 'Standard_L16s_v2' 'Standard_L16s_v3' 'Standard_L32as_v3' 'Standard_L32s_v3' 'Standard_L4s' 'Standard_L8as_v3' 'Standard_L8s' 'Standard_L8s_v2' 'Standard_L8s_v3' (obbligatorio) |
| livello | Livello SKU. | 'Di base' 'Standard' (obbligatorio) |
Politica di callout
| Nome | Descrizione | Valore |
|---|---|---|
| calloutType | Tipo del servizio callout, specificando il tipo di risorsa esterna o servizio a cui si accede. | 'azure_digital_twins' 'azure_openai' 'cosmosdb' 'external_data' 'Ginevrametria' 'Kusto' 'mysql' 'PostgreSQL' 'sandbox_artifacts' 'SQL' 'webapi' |
| calloutUriRegex | Espressione regolare o modello FQDN per l'URI del callout. | corda |
| outboundAccess | Indica se l'accesso in uscita è consentito per il modello URI specificato. | 'Consenti' 'Negare' |
Proprietà cluster
| Nome | Descrizione | Valore |
|---|---|---|
| acceptedAudiences | Destinatari accettati dal cluster. | acceptedAudiences[] |
| allowedFqdnList | Elenco di nomi di dominio completi consentiti (nome di dominio completo) per l'uscita dal cluster. | stringa[] |
| allowedIpRangeList | Elenco di indirizzi IP nel formato CIDR consentito per la connessione al cluster. | stringa[] |
| calloutPolicies | Elenco dei criteri di callout per l'uscita dal cluster. | CalloutPolicy[] |
| abilita AutoStop | Valore booleano che indica se il cluster potrebbe essere arrestato automaticamente (a causa della mancanza di dati o di nessuna attività per molti giorni). | Bool |
| enableDiskEncryption | Valore booleano che indica se i dischi del cluster sono crittografati. | Bool |
| enableDoubleEncryption | Valore booleano che indica se la crittografia doppia è abilitata. | Bool |
| enablePurge | Valore booleano che indica se le operazioni di eliminazione sono abilitate. | Bool |
| enableStreamingIngest | Valore booleano che indica se l'inserimento di streaming è abilitato. | Bool |
| Tipo di motore | Tipo di motore | 'V2' 'V3' |
| keyVaultProperties | Proprietà dell'insieme di credenziali delle chiavi per la crittografia del cluster. | KeyVaultProperties |
| languageExtensions | Elenco delle estensioni del linguaggio del cluster. | LanguageExtensionsList |
| ottimizzatoAutoscale | Definizione di scalabilità automatica ottimizzata. | OptimizedAutoscale |
| publicIPType | Indica il tipo di IP pubblico da creare: IPv4 (impostazione predefinita) o DualStack (IPv4 e IPv6) | 'DualStack' «IPv4» |
| pubblicoAccesso alla rete | L'accesso alla rete pubblica al cluster è abilitato per impostazione predefinita. Se disabilitata, è consentita solo la connessione all'endpoint privato al cluster | 'Disabilitato' 'Abilitato' 'SecuredByPerimeter' |
| restrictOutboundNetworkAccess | Indica se limitare o meno l'accesso alla rete in uscita. Il valore è facoltativo, ma se passato, deve essere 'Enabled' o 'Disabled' | 'Disabilitato' 'Abilitato' |
| trustedExternalTenants | Tenant esterni del cluster. | TrustedExternalTenant[] |
| virtualClusterGraduationProperties | Proprietà di laurea del cluster virtuale | corda Vincoli: Valore sensibile. Passare come parametro sicuro. |
| virtualNetworkConfiguration | Definizione della rete virtuale. | Configurazione di VirtualNetwork |
ComponentiSgqdofSchemiIdentitàProprietàIdentità assegnateAggiuntiveproprietà
| Nome | Descrizione | Valore |
|---|
Identità
| Nome | Descrizione | Valore |
|---|---|---|
| digitare | Tipo di identità gestita usata. Il tipo 'SystemAssigned, UserAssigned' include sia un'identità creata in modo implicito che un set di identità assegnate dall'utente. Il tipo 'None' rimuoverà tutte le identità. | 'Nessuno' 'Assegnato dal sistema' 'SystemAssigned, UserAssigned' 'UserAssigned' (obbligatorio) |
| userAssignedIdentities | Elenco delle identità utente associate al cluster Kusto. I riferimenti alla chiave del dizionario delle identità utente saranno id risorsa ARM nel formato :'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. | IdentitàUtenteAssegnatoIdentità |
IdentitàUtenteAssegnatoIdentità
| Nome | Descrizione | Valore |
|---|
KeyVaultProperties
| Nome | Descrizione | Valore |
|---|---|---|
| federatedIdentityClientId | L'ID dell'applicazione (client) dell'applicazione multi-tenant Microsoft Entra. Utilizzato per scenari di chiave gestite dal cliente cross-tenant in cui la chiave di crittografia è memorizzata in un tenant diverso rispetto al cluster. L'applicazione deve essere configurata con l'identità gestita assegnata dall'utente come credenziale di identità federata. | corda |
| keyName | Nome della chiave dell'insieme di credenziali delle chiavi. | corda |
| keyVaultUri | URI dell'insieme di credenziali delle chiavi. | corda |
| keyVersion | Versione della chiave dell'insieme di credenziali delle chiavi. | corda |
| Identità utente | Identità assegnata dall'utente (ID risorsa ARM) che ha accesso alla chiave. L'identità deve avere i permessi 'Get', 'Wrap Key' e 'Unwrap Key' sulla chiave di Key Vault, oppure deve essere assegnata al ruolo 'Key Vault Crypto Service Encryption User'. | corda |
LanguageExtension
| Nome | Descrizione | Valore |
|---|---|---|
| languageExtensionCustomImageName | Il nome dell'immagine personalizzata del sandbox dovrebbe essere abilitato come estensione linguistica attiva. L'immagine personalizzata sandbox è una risorsa di cluster sub. Quando questa proprietà è impostata, LanguageExtensionImageName dovrebbe essere impostato su 'PythonCustomImage'. | corda |
| languageExtensionImageName | Nome dell'immagine dell'estensione del linguaggio. | 'Python3_10_8' 'Python3_10_8_DL' 'Python3_11_7' 'Python3_11_7_DL' 'Python3_6_5' 'PythonCustomImage' 'R' |
| languageExtensionName | Nome dell'estensione del linguaggio. | 'PITONE' 'R' |
LanguageExtensionsList
| Nome | Descrizione | Valore |
|---|---|---|
| nextLink | Il link alla pagina successiva di risorse. | corda |
| valore | Elenco di estensioni del linguaggio. | LanguageExtension[] |
OptimizedAutoscale
| Nome | Descrizione | Valore |
|---|---|---|
| èAbilitato | Valore booleano che indica se la funzionalità di scalabilità automatica ottimizzata è abilitata o meno. | bool (obbligatorio) |
| massimo | Numero massimo di istanze consentite. | int (obbligatorio) |
| minimo | Numero minimo di istanze consentite. | int (obbligatorio) |
| Versione | Versione del modello definita, ad esempio 1. | int (obbligatorio) |
TrackedResourceTags
| Nome | Descrizione | Valore |
|---|
TrustedExternalTenant
| Nome | Descrizione | Valore |
|---|---|---|
| valore | GUID che rappresenta un tenant esterno. | corda |
Configurazione di VirtualNetwork
| Nome | Descrizione | Valore |
|---|---|---|
| datiManagementPublicIpId | ID risorsa indirizzo IP pubblico del servizio di gestione dei dati. | stringa (obbligatorio) |
| enginePublicIpId | ID risorsa indirizzo IP pubblico del servizio motore. | stringa (obbligatorio) |
| stato | Se abilitato, il cluster viene distribuito nella subnet configurata, quando disabilitato verrà rimosso dalla subnet. | 'Disabilitato' 'Abilitato' |
| subnetId | ID risorsa subnet. | stringa (obbligatorio) |