About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
powershell_heavy
⚠️
windows_first
⚠️
missing_linux_example
⚠️
windows_tools
Summary:
The documentation provides extensive PowerShell examples and references, with no explicit Linux shell or Bash examples. PowerShell is presented as a primary scripting interface alongside Azure CLI and ARM templates, but there are no Linux-specific command-line or scripting examples. The use of PowerShell and its cmdlets, as well as the lack of Bash or Linux-native scripting, demonstrates a Windows-centric bias. Additionally, PowerShell examples are sometimes provided even when the equivalent functionality (e.g., Key Vault secret references, secret volume mounts) is not supported, but there is no alternative Linux guidance.
Recommendations:
- Add Linux/Bash shell examples for all Azure CLI commands, including environment variable usage and secret handling.
- Explicitly mention cross-platform compatibility for Azure CLI commands, and provide sample Bash scripts for Linux users.
- Where PowerShell is not supported (e.g., Key Vault secret references, secret volume mounts), provide alternative Linux-native approaches or clarify how Linux users can achieve similar outcomes.
- Balance the order of examples so that Azure CLI (cross-platform) or Bash examples are presented before or alongside PowerShell, rather than after.
- Avoid assuming PowerShell as the default scripting environment; instead, offer parity between Windows and Linux command-line tooling.
Create pull request
Flagged Code Snippets
$EnvId = (Get-AzContainerAppManagedEnv -ResourceGroupName my-resource-group -EnvName my-environment-name).Id
$TemplateObj = New-AzContainerAppTemplateObject -Name queuereader -Image demos/queuereader:v1
$SecretObj = New-AzContainerAppSecretObject -Name queue-connection-string -Value $QueueConnectionString
$ContainerAppArgs = @{
Name = 'my-resource-group'
Location = '<location>'
ResourceGroupName = 'my-resource-group'
ManagedEnvironmentId = $EnvId
TemplateContainer = $TemplateObj
ConfigurationSecret = $SecretObj
}
New-AzContainerApp @ContainerAppArgs
$EnvId = (Get-AzContainerAppManagedEnv -ResourceGroupName my-resource-group -EnvName my-environment-name).Id
$SecretObj = New-AzContainerAppSecretObject -Name queue-connection-string -Value $QueueConnectionString
$EnvVarObjQueue = New-AzContainerAppEnvironmentVarObject -Name QueueName -Value myqueue
$EnvVarObjConn = New-AzContainerAppEnvironmentVarObject -Name ConnectionString -SecretRef queue-connection-string -Value secretref
$TemplateObj = New-AzContainerAppTemplateObject -Name myQueueApp -Image demos/myQueueApp:v1 -Env $EnvVarObjQueue, $EnvVarObjConn
$ContainerAppArgs = @{
Name = 'myQueueApp'
Location = '<location>'
ResourceGroupName = 'my-resource-group'
ManagedEnvironmentId = $EnvId
TemplateContainer = $TemplateObj
ConfigurationSecret = $SecretObj
}
New-AzContainerApp @ContainerAppArgs