update connection string handling (#3871)

Signed-off-by: adam6878 <adamshamis.dev@gmail.com>
This commit is contained in:
Adam shamis 2025-08-01 00:00:02 +03:00 committed by GitHub
parent 737b84435f
commit 9088baa6d7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 20 additions and 7 deletions

View File

@ -62,7 +62,7 @@ func (a *AzureServiceBusQueues) Init(ctx context.Context, metadata bindings.Meta
return err
}
a.client, err = impl.NewClient(a.metadata, metadata.Properties)
a.client, err = impl.NewClient(a.metadata, metadata.Properties, a.logger)
if err != nil {
return err
}

View File

@ -16,6 +16,7 @@ package servicebus
import (
"context"
"fmt"
"strings"
"sync"
"time"
@ -40,7 +41,7 @@ type Client struct {
}
// NewClient creates a new Client object.
func NewClient(metadata *Metadata, rawMetadata map[string]string) (*Client, error) {
func NewClient(metadata *Metadata, rawMetadata map[string]string, log logger.Logger) (*Client, error) {
client := &Client{
metadata: metadata,
lock: &sync.RWMutex{},
@ -86,9 +87,17 @@ func NewClient(metadata *Metadata, rawMetadata map[string]string) (*Client, erro
}
if !metadata.DisableEntityManagement {
client.adminClient, err = sbadmin.NewClient(metadata.NamespaceName, token, nil)
if err != nil {
return nil, err
if isAzureEmulator(metadata.ConnectionString) {
log.Warn(
"UseDevelopmentEmulator=true detected in connection string. " +
"Azure emulator does not support topic management APIs. " +
"Dapr will skip admin operations. " +
"To suppress this warning, explicitly set disableEntityManagement: true.")
} else {
client.adminClient, err = sbadmin.NewClient(metadata.NamespaceName, token, nil)
if err != nil {
return nil, err
}
}
}
}
@ -394,3 +403,7 @@ func notEqual(a, b *bool) bool {
}
return *a != *b
}
func isAzureEmulator(connectionString string) bool {
return strings.Contains(strings.ToLower(connectionString), "usedevelopmentemulator=true")
}

View File

@ -57,7 +57,7 @@ func (a *azureServiceBus) Init(_ context.Context, metadata pubsub.Metadata) (err
return err
}
a.client, err = impl.NewClient(a.metadata, metadata.Properties)
a.client, err = impl.NewClient(a.metadata, metadata.Properties, a.logger)
if err != nil {
return err
}

View File

@ -58,7 +58,7 @@ func (a *azureServiceBus) Init(_ context.Context, metadata pubsub.Metadata) (err
return err
}
a.client, err = impl.NewClient(a.metadata, metadata.Properties)
a.client, err = impl.NewClient(a.metadata, metadata.Properties, a.logger)
if err != nil {
return err
}