From d66e178b663c0d729a725a56c5b42e632775f649 Mon Sep 17 00:00:00 2001 From: Andres Martinez Gotor Date: Wed, 27 Jul 2022 16:49:51 +0200 Subject: [PATCH] Azure Monitor: Append /default to the resource URI if needed (#52884) --- pkg/tsdb/azuremonitor/metrics/url-builder.go | 5 +++++ pkg/tsdb/azuremonitor/metrics/url-builder_test.go | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/pkg/tsdb/azuremonitor/metrics/url-builder.go b/pkg/tsdb/azuremonitor/metrics/url-builder.go index 2378a96220f..5129da529c3 100644 --- a/pkg/tsdb/azuremonitor/metrics/url-builder.go +++ b/pkg/tsdb/azuremonitor/metrics/url-builder.go @@ -33,6 +33,11 @@ func (params *urlBuilder) buildResourceURI() string { provider := metricNamespaceArray[0] metricNamespaceArray = metricNamespaceArray[1:] + if strings.HasPrefix(strings.ToLower(params.MetricNamespace), "microsoft.storage/storageaccounts/") && + !strings.HasSuffix(params.ResourceName, "default") { + resourceNameArray = append(resourceNameArray, "default") + } + urlArray := []string{ "/subscriptions", subscription, diff --git a/pkg/tsdb/azuremonitor/metrics/url-builder_test.go b/pkg/tsdb/azuremonitor/metrics/url-builder_test.go index 5a184db02df..3bc9349b21d 100644 --- a/pkg/tsdb/azuremonitor/metrics/url-builder_test.go +++ b/pkg/tsdb/azuremonitor/metrics/url-builder_test.go @@ -91,6 +91,18 @@ func TestURLBuilder(t *testing.T) { url := ub.BuildMetricsURL() assert.Equal(t, "/subscriptions/default-sub/resourceGroups/rg/providers/Microsoft.NetApp/netAppAccounts/rn1/capacityPools/rn2/volumes/rn3/providers/microsoft.insights/metrics", url) }) + + t.Run("when metric definition is Microsoft.Storage/storageAccounts/blobServices", func(t *testing.T) { + ub := &urlBuilder{ + DefaultSubscription: "default-sub", + ResourceGroup: "rg", + MetricNamespace: "Microsoft.Storage/storageAccounts/blobServices", + ResourceName: "rn1", + } + + url := ub.buildResourceURI() + assert.Equal(t, "/subscriptions/default-sub/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/rn1/blobServices/default", url) + }) }) }) }