Skip to content

Commit 9088baa

Browse files
authored
update connection string handling (#3871)
Signed-off-by: adam6878 <[email protected]>
1 parent 737b844 commit 9088baa

File tree

4 files changed

+20
-7
lines changed

4 files changed

+20
-7
lines changed

bindings/azure/servicebusqueues/servicebusqueues.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (a *AzureServiceBusQueues) Init(ctx context.Context, metadata bindings.Meta
6262
return err
6363
}
6464

65-
a.client, err = impl.NewClient(a.metadata, metadata.Properties)
65+
a.client, err = impl.NewClient(a.metadata, metadata.Properties, a.logger)
6666
if err != nil {
6767
return err
6868
}

common/component/azure/servicebus/client.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ package servicebus
1616
import (
1717
"context"
1818
"fmt"
19+
"strings"
1920
"sync"
2021
"time"
2122

@@ -40,7 +41,7 @@ type Client struct {
4041
}
4142

4243
// NewClient creates a new Client object.
43-
func NewClient(metadata *Metadata, rawMetadata map[string]string) (*Client, error) {
44+
func NewClient(metadata *Metadata, rawMetadata map[string]string, log logger.Logger) (*Client, error) {
4445
client := &Client{
4546
metadata: metadata,
4647
lock: &sync.RWMutex{},
@@ -86,9 +87,17 @@ func NewClient(metadata *Metadata, rawMetadata map[string]string) (*Client, erro
8687
}
8788

8889
if !metadata.DisableEntityManagement {
89-
client.adminClient, err = sbadmin.NewClient(metadata.NamespaceName, token, nil)
90-
if err != nil {
91-
return nil, err
90+
if isAzureEmulator(metadata.ConnectionString) {
91+
log.Warn(
92+
"UseDevelopmentEmulator=true detected in connection string. " +
93+
"Azure emulator does not support topic management APIs. " +
94+
"Dapr will skip admin operations. " +
95+
"To suppress this warning, explicitly set disableEntityManagement: true.")
96+
} else {
97+
client.adminClient, err = sbadmin.NewClient(metadata.NamespaceName, token, nil)
98+
if err != nil {
99+
return nil, err
100+
}
92101
}
93102
}
94103
}
@@ -394,3 +403,7 @@ func notEqual(a, b *bool) bool {
394403
}
395404
return *a != *b
396405
}
406+
407+
func isAzureEmulator(connectionString string) bool {
408+
return strings.Contains(strings.ToLower(connectionString), "usedevelopmentemulator=true")
409+
}

pubsub/azure/servicebus/queues/servicebus.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func (a *azureServiceBus) Init(_ context.Context, metadata pubsub.Metadata) (err
5757
return err
5858
}
5959

60-
a.client, err = impl.NewClient(a.metadata, metadata.Properties)
60+
a.client, err = impl.NewClient(a.metadata, metadata.Properties, a.logger)
6161
if err != nil {
6262
return err
6363
}

pubsub/azure/servicebus/topics/servicebus.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func (a *azureServiceBus) Init(_ context.Context, metadata pubsub.Metadata) (err
5858
return err
5959
}
6060

61-
a.client, err = impl.NewClient(a.metadata, metadata.Properties)
61+
a.client, err = impl.NewClient(a.metadata, metadata.Properties, a.logger)
6262
if err != nil {
6363
return err
6464
}

0 commit comments

Comments
 (0)