Create an Azure Machine Learning hub workspace using a Bicep template
Use a Microsoft Bicep template to create a hub workspace for use in ML Studio. A template makes it easy to create resources as a single, coordinated operation. A Bicep template is a text document that defines the resources that are needed for a deployment. It might also specify deployment parameters. Parameters are used to provide input values when using the template.
The template used in this article can be found at https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices/aistudio-basics. Both the source main.bicep
file and the compiled Azure Resource Manager template (main.json
) file are available. This template creates the following resources:
- An Azure Resource Group (if one doesn't already exist)
- An Azure Machine Learning workspace of kind 'hub'
- Azure Storage Account
- Azure Key Vault
- Azure Container Registry
- Azure Application Insights
Prerequisites
An Azure subscription. If you don't have one, create a Trial.
A copy of the template files from the GitHub repo. To clone the GitHub repo to your local machine, you can use Git. Use the following command to clone the quickstart repository to your local machine and navigate to the
aistudio-basics
directory.git clone https://github.com/Azure/azure-quickstart-templates cd azure-quickstart-templates/quickstarts/microsoft.machinelearningservices/aistudio-basics
The Bicep command-line tools. To install the Bicep command-line tools, use the Install the Bicep CLI article.
Understanding the template
The Bicep template is made up of the following files:
File | Description |
---|---|
main.bicep | The main Bicep file that defines the parameters and variables. Passing parameters & variables to other modules in the modules subdirectory. |
ai-resource.bicep | Defines the Azure AI hub resource. |
dependent-resources.bicep | Defines the dependent resources for the Azure AI hub. Azure Storage Account, Container Registry, Key Vault, and Application Insights. |
Important
The example templates may not always use the latest API version for the Azure resources it creates. Before using the template, we recommend modifying it to use the latest API versions. Each Azure service has its own set of API versions. For information on the API for a specific service, check the service information in the Azure REST API reference.
The AI hub resource is based on Azure Machine Learning. For information on the latest API versions for Azure Machine Learning, see the Azure Machine Learning REST API reference. To update this API version, find the Microsoft.MachineLearningServices/<resource>
entry for the resource type and update it to the latest version. The following example is an entry for the Azure AI hub that uses an API version of 2023-08-01-preview
:
resource aiResource 'Microsoft.MachineLearningServices/workspaces@2023-08-01-preview' = {
Azure Resource Manager template
While the Bicep domain-specific language (DSL) is used to define the resources, the Bicep file is compiled into an Azure Resource Manager template when you deploy the template. The main.json
file included in the GitHub repository is a compiled Azure Resource Manager version of the template. This file is generated from the main.bicep
file using the Bicep command-line tools. For example, when you deploy the Bicep template it generates the main.json
file. You can also manually create the main.json
file using the bicep build
command without deploying the template.
bicep build main.bicep
For more information, see the Bicep CLI article.
Configure the template
To run the Bicep template, use the following commands from the aistudio-basics
directory:
To create a new Azure Resource Group, use the following command. Replace
exampleRG
with the name of your resource group, andchinanorth3
with the Azure region to use:az group create --name exampleRG --location chinanorth3
To run the template, use the following command. Replace
myai
with the name to use for your resources. This value is used, along with generated prefixes and suffixes, to create a unique name for the resources created by the template.Tip
The
aiResourceName
must be 5 or less characters. It can't be entirely numeric or contain the following characters:~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?
.az deployment group create --resource-group exampleRG --template-file main.bicep --parameters aiResourceName=myai