-
Couldn't load subscription status.
- Fork 21.8k
Updated to include Managed Identity support for On-demand cluster #127766
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -5,7 +5,7 @@ description: Learn about compute environments that can be used with Azure Data F | |||||
| ms.topic: conceptual | ||||||
| author: nabhishek | ||||||
| ms.author: abnarain | ||||||
| ms.date: 10/06/2025 | ||||||
| ms.date: 10/23/2025 | ||||||
| ms.subservice: orchestration | ||||||
| ms.custom: synapse | ||||||
| --- | ||||||
|
|
@@ -67,7 +67,7 @@ Note the following **important** points about on-demand HDInsight linked service | |||||
| > [!IMPORTANT] | ||||||
| > It typically takes **20 minutes** or more to provision an Azure HDInsight cluster on demand. | ||||||
|
|
||||||
| #### Example | ||||||
| #### Example using Service Principal Key | ||||||
|
|
||||||
| The following JSON defines a Linux-based on-demand HDInsight linked service. The service automatically creates a **Linux-based** HDInsight cluster to process the required activity. | ||||||
|
|
||||||
|
|
@@ -88,6 +88,73 @@ The following JSON defines a Linux-based on-demand HDInsight linked service. The | |||||
| }, | ||||||
| "tenant": "<tenant id>", | ||||||
| "clusterResourceGroup": "<resource group name>", | ||||||
| "clusterResourceGroupAuthType": "ServicePrincipalKey", | ||||||
| "version": "3.6", | ||||||
| "osType": "Linux", | ||||||
| "linkedServiceName": { | ||||||
| "referenceName": "AzureStorageLinkedService", | ||||||
| "type": "LinkedServiceReference" | ||||||
| } | ||||||
| }, | ||||||
| "connectVia": { | ||||||
| "referenceName": "<name of Integration Runtime>", | ||||||
| "type": "IntegrationRuntimeReference" | ||||||
| } | ||||||
| } | ||||||
| } | ||||||
| ``` | ||||||
|
|
||||||
| #### Example using System Assigned Managed Identity | ||||||
|
|
||||||
| The following JSON defines a Linux-based on-demand HDInsight linked service. The service automatically creates a **Linux-based** HDInsight cluster to process the required activity. | ||||||
|
|
||||||
| ```json | ||||||
| { | ||||||
| "name": "HDInsightOnDemandLinkedService", | ||||||
| "properties": { | ||||||
| "type": "HDInsightOnDemand", | ||||||
| "typeProperties": { | ||||||
| "clusterType": "hadoop", | ||||||
| "clusterSize": 1, | ||||||
| "timeToLive": "00:15:00", | ||||||
| "hostSubscriptionId": "<subscription ID>", | ||||||
| "clusterResourceGroup": "<resource group name>", | ||||||
| "clusterResourceGroupAuthType": "SystemAssignedManagedIdentity", | ||||||
| "version": "3.6", | ||||||
| "osType": "Linux", | ||||||
| "linkedServiceName": { | ||||||
| "referenceName": "AzureStorageLinkedService", | ||||||
| "type": "LinkedServiceReference" | ||||||
| } | ||||||
| }, | ||||||
| "connectVia": { | ||||||
| "referenceName": "<name of Integration Runtime>", | ||||||
| "type": "IntegrationRuntimeReference" | ||||||
| } | ||||||
| } | ||||||
| } | ||||||
| ``` | ||||||
|
|
||||||
| #### Example using User Assigned Managed Identity | ||||||
|
|
||||||
| The following JSON defines a Linux-based on-demand HDInsight linked service. The service automatically creates a **Linux-based** HDInsight cluster to process the required activity. | ||||||
|
|
||||||
| ```json | ||||||
| { | ||||||
| "name": "HDInsightOnDemandLinkedService", | ||||||
| "properties": { | ||||||
| "type": "HDInsightOnDemand", | ||||||
| "typeProperties": { | ||||||
| "clusterType": "hadoop", | ||||||
| "clusterSize": 1, | ||||||
| "timeToLive": "00:15:00", | ||||||
| "hostSubscriptionId": "<subscription ID>", | ||||||
| "clusterResourceGroup": "<resource group name>", | ||||||
| "clusterResourceGroupAuthType": "UserAssignedManagedIdentity", | ||||||
| "credential": { | ||||||
| "referenceName": "CredentialName", | ||||||
| "type": "CredentialReference" | ||||||
| }, | ||||||
| "version": "3.6", | ||||||
| "osType": "Linux", | ||||||
| "linkedServiceName": { | ||||||
|
|
@@ -116,6 +183,8 @@ The following JSON defines a Linux-based on-demand HDInsight linked service. The | |||||
| | clusterSize | Number of worker/data nodes in the cluster. The HDInsight cluster is created with 2 head nodes along with the number of worker nodes you specify for this property. The nodes are of size Standard_D3 that has 4 cores, so a 4 worker node cluster takes 24 cores (4\*4 = 16 cores for worker nodes, plus 2\*4 = 8 cores for head nodes). See [Set up clusters in HDInsight with Hadoop, Spark, Kafka, and more](../hdinsight/hdinsight-hadoop-provision-linux-clusters.md) for details. | Yes | | ||||||
| | linkedServiceName | Azure Storage linked service to be used by the on-demand cluster for storing and processing data. The HDInsight cluster is created in the same region as this Azure Storage account. Azure HDInsight has limitation on the total number of cores you can use in each Azure region it supports. Make sure you have enough core quotas in that Azure region to meet the required clusterSize. For details, refer to [Set up clusters in HDInsight with Hadoop, Spark, Kafka, and more](../hdinsight/hdinsight-hadoop-provision-linux-clusters.md)<p>Currently, you cannot create an on-demand HDInsight cluster that uses an Azure Data Lake Storage (Gen 2) as the storage. If you want to store the result data from HDInsight processing in an Azure Data Lake Storage (Gen 2), use a Copy Activity to copy the data from the Azure Blob Storage to the Azure Data Lake Storage (Gen 2). </p> | Yes | | ||||||
| | clusterResourceGroup | The HDInsight cluster is created in this resource group. | Yes | | ||||||
| | clusterResourceGroupAuthType | Specify the HDInsight On-demand cluster resource group authentication type. Supported auth types are "ServicePrincipalKey", "SystemAssignedManagedIdentity", "UserAssignedManagedIdentity". | Required for using Managed Identity authentication. If field is not there, will default to ServicePrincipalKey | | ||||||
|
||||||
| | clusterResourceGroupAuthType | Specify the HDInsight On-demand cluster resource group authentication type. Supported auth types are "ServicePrincipalKey", "SystemAssignedManagedIdentity", "UserAssignedManagedIdentity". | Required for using Managed Identity authentication. If field is not there, will default to ServicePrincipalKey | | |
| | clusterResourceGroupAuthType | Specify the HDInsight On-demand cluster resource group authentication type. Supported auth types are "ServicePrincipalKey", "SystemAssignedManagedIdentity", "UserAssignedManagedIdentity". | No (defaults to ServicePrincipalKey). Required when using Managed Identity authentication. | |
Copilot
AI
Oct 23, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The description states 'containing Managed Identity object which has access over the resource group' but should be 'that has access to the resource group' for grammatical correctness.
| | credential | Specify the credential reference containing Managed Identity object which has access over the resource group. | Only required for "UserAssignedManagedIdentity" authentication. | | |
| | credential | Specify the credential reference that has access to the resource group. | Only required for "UserAssignedManagedIdentity" authentication. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent indentation within the credential object. Lines 155-156 have 6 spaces of indentation, while line 157 has only 1 space. Should maintain consistent indentation (either 6 or 8 spaces for inner properties) to match the formatting of other properties in the JSON example.