diff --git a/docs/sources/datasources/azuremonitor/template-variables.md b/docs/sources/datasources/azuremonitor/template-variables.md index b36e0cd6034..4d04a06f494 100644 --- a/docs/sources/datasources/azuremonitor/template-variables.md +++ b/docs/sources/datasources/azuremonitor/template-variables.md @@ -54,67 +54,3 @@ Perf | summarize avg(CounterValue) by bin(TimeGenerated, $__interval), Computer | order by TimeGenerated asc ``` - -## Limitations - -As of Grafana 9.0, a resource URI is constructed to identify resources using the resource picker. On dashboards created prior to Grafana 9.0, Grafana automatically migrates any queries using the prior resource-picking mechanism to use this method. - -Some resource types use nested namespaces and resource names, such as `Microsoft.Storage/storageAccounts/tableServices` and `storageAccount/default`, or `Microsoft.Sql/servers/databases` and `serverName/databaseName`. Such template variables cannot be used because the result could be a malformed resource URI. - -### Supported cases - -#### Standard namespaces and resource names - -```kusto -metricDefinition = $ns -$ns = Microsoft.Compute/virtualMachines -resourceName = $rs -$rs = testvirtualmachine -``` - -#### Namespaces with a non-templated sub-namespace - -```kusto -metricDefinition = $ns/tableServices -$ns = Microsoft.Storage/storageAccounts -resourceName = $rs/default -$rs = storageaccount -``` - -#### Storage namespaces missing the `default` keyword - -```kusto -metricDefinition = $ns/tableServices -$ns = Microsoft.Storage/storageAccounts -resourceName = $rs -$rs = storageaccount -``` - -#### Namespaces with a templated sub-namespace - -```kusto -metricDefinition = $ns/$sns -$ns = Microsoft.Storage/storageAccounts -$sns = tableServices -resourceName = $rs -$rs = storageaccount -``` - -### Unsupported case - -If a dashboard uses this unsupported case, migrate it to one of the [supported cases](#supported-cases). - -If a namespace or resource name template variable contains multiple segments, Grafana will construct the resource URI incorrectly because the template variable cannot be appropriately split. - -For example: - -```kusto -metricDefinition = $ns -resourceName = $rs -$ns = 'Microsoft.Storage/storageAccounts/tableServices' -$rs = 'storageaccount/default' -``` - -This would result in an incorrect resource URI containing `Microsoft.Storage/storageAccounts/tableServices/storageaccount/default`. However, the correct URI would have the format `Microsoft.Storage/storageAccounts/storageaccount/tableServices/default`. - -An appropriate fix would be to update the template variable that does not match a supported case. If the namespace variable `$ns` is of the form `Microsoft.Storage/storageAccounts/tableServices` this could be split into two variables: `$ns1 = Microsoft.Storage/storageAccounts` and `$ns2 = tableServices`. The metric definition would then take the form `$ns1/$ns2` which leads to a correctly formatted URI.