Azure Bicep Expressions - Parameters Variables Outputs and Functions
Master Bicep expressions by using parameters with decorators, variables, output values, and built-in functions to deploy flexible templates.

Lab overview
Bicep parameters, variables, outputs, and built-in functions are the building blocks that transform static templates into flexible, reusable infrastructure definitions. In this hands-on lab, you will explore these core expression features by deploying an Azure Key Vault with dynamically generated naming and parameterized configuration.
You will create a keyvault.bicep file in the Code IDE, defining typed parameters with decorators like @allowed, @minLength, @maxLength, @description, and @secure(). You will use variables with string interpolation and the uniqueString() function to generate a globally unique vault name. After adding outputs to expose the vault URI and name, you will deploy the template using az deployment group create and retrieve output values with az deployment group show. By the end, you will have a working Key Vault and a solid understanding of how Bicep expressions make templates dynamic and maintainable.
Objectives
Upon completing this beginner level lab, you will be able to:
- Define typed parameters with
@allowed,@minLength,@maxLength, and@descriptiondecorators - Use
@secure()to protect sensitive parameter values from deployment logs - Create variables using string interpolation and built-in functions like
uniqueString(),toLower(), andresourceGroup().location - Configure outputs to expose resource properties such as vault URI after deployment
- Deploy an Azure Key Vault with dynamically generated unique naming
- Retrieve deployment outputs using
az deployment group show
Who is this lab for?
This lab is designed for:
- Cloud engineers learning Azure Bicep who want to move beyond basic resource declarations into flexible, parameterized templates
- IT professionals looking to understand how Bicep expressions enable reusable infrastructure definitions
Verified against your live environment
An automated validation engine inspects your actual resources and configurations as you work. Completion means the task was performed — not multiple choice, real-world proficiency.
More labs like this
Deploy a Full Azure Environment Using Bicep Infrastructure as Code
Write modular Bicep templates to deploy a VNet, App Service, SQL Database, and Key Vault, then deploy the full environment using Azure CLI.
Creating and Deploying Azure Functions using Azure Functions Core Tools
In this lab, you will learn how to create and deploy Azure Functions using Azure Functions Core Tools.
Terraform Built-in Functions and Expressions in Practice
Use terraform console to explore string, collection, numeric, and filesystem functions, then apply them in real Azure configurations.
Related reading
Environment
Every lab includes
- Real environment, pre-credentialed
- Automated checks on every step
- Isolated sandbox, auto cleanup
- AI-recommended next steps
Lab curriculum
- 01
Logging into Azure CLI
- 02
Defining Parameters with Decorators and Variables in Bicep
1 automated check
- 03
Deploying Key Vault with Dynamic Naming and Outputs in Bicep
1 automated check
Skills validated
Not the lab you were looking for?
Browse 150+ hands-on labs across AWS, Azure, Kubernetes, Docker, and cloud security.