public ConsumerClientFactory(IConfiguration configuration, ILoggerFactory loggerFactory)
        {
            _logger            = loggerFactory.CreateLogger <ProducerClientFactory>();
            _hubSettings       = configuration.GetConfiguredSettings <EventHubSettings>();
            _consumerGroupName = Consumer.ConsumerGroup ?? EventHubConsumerClient.DefaultConsumerGroupName;
            _aadSettings       = configuration.GetConfiguredSettings <AadSettings>();
            _vaultSettings     = configuration.GetConfiguredSettings <VaultSettings>();
            _logger.LogInformation($"using consumer group: {_consumerGroupName}");

            if (!TryCreateClientUsingMsi())
            {
                if (!TryCreateClientUsingSpn())
                {
                    if (!TryCreateClientFromKeyVault() &&
                        !string.IsNullOrEmpty(_hubSettings.ConnectionStringSecretName))
                    {
                        if (!string.IsNullOrEmpty(_hubSettings.ConnectionStringSecretName))
                        {
                            if (!TryCreateClientUsingConnStr())
                            {
                                throw new Exception("failed to create queue client");
                            }
                        }
                        else
                        {
                            throw new Exception("Invalid queue settings");
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        public ProducerClientFactory(IConfiguration configuration, ILoggerFactory loggerFactory)
        {
            logger        = loggerFactory.CreateLogger <ProducerClientFactory>();
            hubSettings   = configuration.GetConfiguredSettings <EventHubSettings>();
            aadSettings   = configuration.GetConfiguredSettings <AadSettings>();
            vaultSettings = configuration.GetConfiguredSettings <VaultSettings>();

            if (!TryCreateClientUsingMsi())
            {
                if (!TryCreateClientUsingSpn())
                {
                    if (!TryCreateClientFromKeyVault() &&
                        !string.IsNullOrEmpty(hubSettings.ConnectionStringSecretName))
                    {
                        if (!string.IsNullOrEmpty(hubSettings.ConnectionStringSecretName))
                        {
                            if (!TryCreateClientUsingConnStr())
                            {
                                throw new Exception("failed to create queue client");
                            }
                        }
                        else
                        {
                            throw new Exception("Invalid queue settings");
                        }
                    }
                }
            }
        }