static AmazonSQSTransportOptions GetTransportOptions(AmazonSQSTransportOptions options, AWSCredentials credentials, AmazonSQSConfig config) { options = options ?? new AmazonSQSTransportOptions(); if (options.ClientFactory == null) { options.ClientFactory = GetClientFactory(credentials, config); } else { if (credentials != null || config != null) { throw new RebusConfigurationException($"Could not configure SQS client, because a client factory was provided at the same time as either AWS credentials and/or SQS config. Please EITHER provide a factory, OR provide the necessary credentials and/or config, OR do not provide anything alltogether to fall back to EC2 roles"); } } return(options); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSQSAsOneWayClient(this StandardConfigurer <ITransport> configurer, string accessKeyId, string secretAccessKey, RegionEndpoint regionEndpoint, AmazonSQSTransportOptions options = null) { var credentials = new BasicAWSCredentials(accessKeyId, secretAccessKey); var config = new AmazonSQSConfig { RegionEndpoint = regionEndpoint }; ConfigureOneWayClient(configurer, GetTransportOptions(options, credentials, config)); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSQS(this StandardConfigurer <ITransport> configurer, string accessKeyId, string secretAccessKey, AmazonSQSConfig config, string inputQueueAddress, AmazonSQSTransportOptions options = null) { var credentials = new BasicAWSCredentials(accessKeyId, secretAccessKey); Configure(configurer, inputQueueAddress, GetTransportOptions(options, credentials, config)); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSQS(this StandardConfigurer <ITransport> configurer, AWSCredentials credentials, AmazonSQSConfig config, string inputQueueAddress, AmazonSQSTransportOptions options = null) { Configure(configurer, inputQueueAddress, GetTransportOptions(options, credentials, config)); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSQS(this StandardConfigurer <ITransport> configurer, string inputQueueAddress, AmazonSQSTransportOptions options = null) { Configure(configurer, inputQueueAddress, GetTransportOptions(options, null, null)); }
static void ConfigureOneWayClient(StandardConfigurer <ITransport> configurer, AmazonSQSTransportOptions options) { if (configurer == null) { throw new ArgumentNullException(nameof(configurer)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } configurer.Register(c => { var rebusLoggerFactory = c.Get <IRebusLoggerFactory>(); var asyncTaskFactory = c.Get <IAsyncTaskFactory>(); return(new AmazonSqsTransport(null, rebusLoggerFactory, asyncTaskFactory, options)); }); OneWayClientBackdoor.ConfigureOneWayClient(configurer); if (options.UseNativeDeferredMessages) { configurer .OtherService <IPipeline>() .Decorate(p => { var pipeline = p.Get <IPipeline>(); return(new PipelineStepRemover(pipeline) .RemoveIncomingStep(s => s.GetType() == typeof(HandleDeferredMessagesStep))); }); configurer.OtherService <ITimeoutManager>() .Register(c => new DisabledTimeoutManager(), description: SqsTimeoutManagerText); } }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> static void UseAmazonSqsAsOneWayClient(StandardConfigurer <ITransport> configurer, AWSCredentials credentials, AmazonSQSConfig amazonSqsConfig, AmazonSQSTransportOptions options = null) { configurer.Register(c => { var rebusLoggerFactory = c.Get <IRebusLoggerFactory>(); var asyncTaskFactory = c.Get <IAsyncTaskFactory>(); return(new AmazonSqsTransport(null, credentials, amazonSqsConfig, rebusLoggerFactory, asyncTaskFactory, options)); }); OneWayClientBackdoor.ConfigureOneWayClient(configurer); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSQS(this StandardConfigurer <ITransport> configurer, string accessKeyId, string secretAccessKey, RegionEndpoint regionEndpoint, string inputQueueAddress, AmazonSQSTransportOptions options = null) { var config = new AmazonSQSConfig { RegionEndpoint = regionEndpoint }; var credentials = new BasicAWSCredentials(accessKeyId, secretAccessKey); Configure(configurer, credentials, config, inputQueueAddress, options ?? new AmazonSQSTransportOptions()); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSqsAsOneWayClient(this StandardConfigurer <ITransport> configurer, string accessKeyId, string secretAccessKey, RegionEndpoint regionEndpoint, AmazonSQSTransportOptions options = null) { UseAmazonSqsAsOneWayClient(configurer, accessKeyId, secretAccessKey, new AmazonSQSConfig { RegionEndpoint = regionEndpoint }, options); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSqsAsOneWayClient(this StandardConfigurer <ITransport> configurer, string accessKeyId, string secretAccessKey, AmazonSQSConfig amazonSqsConfig, AmazonSQSTransportOptions options = null) { UseAmazonSqsAsOneWayClient(configurer, new BasicAWSCredentials(accessKeyId, secretAccessKey), amazonSqsConfig, options); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSqs(this StandardConfigurer <ITransport> configurer, string accessKeyId, string secretAccessKey, AmazonSQSConfig config, string inputQueueAddress, AmazonSQSTransportOptions options = null) { UseAmazonSqs(configurer, new BasicAWSCredentials(accessKeyId, secretAccessKey), config, inputQueueAddress, options); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSqs(this StandardConfigurer <ITransport> configurer, string accessKeyId, string secretAccessKey, RegionEndpoint reguEndpoint, string inputQueueAddress, AmazonSQSTransportOptions options = null) { UseAmazonSqs(configurer, accessKeyId, secretAccessKey, new AmazonSQSConfig { RegionEndpoint = reguEndpoint }, inputQueueAddress, options); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSqs(this StandardConfigurer <ITransport> configurer, AWSCredentials credentials, AmazonSQSConfig config, string inputQueueAddress, AmazonSQSTransportOptions options = null) { configurer.Register(c => { var rebusLoggerFactory = c.Get <IRebusLoggerFactory>(); var asyncTaskFactory = c.Get <IAsyncTaskFactory>(); return(new AmazonSqsTransport(inputQueueAddress, credentials, config, rebusLoggerFactory, asyncTaskFactory, options)); }); configurer .OtherService <IPipeline>() .Decorate(p => { var pipeline = p.Get <IPipeline>(); return(new PipelineStepRemover(pipeline) .RemoveIncomingStep(s => s.GetType() == typeof(HandleDeferredMessagesStep))); }); configurer.OtherService <ITimeoutManager>().Register(c => new DisabledTimeoutManager(), description: SqsTimeoutManagerText); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSQSAsOneWayClient(this StandardConfigurer <ITransport> configurer, string accessKeyId, string secretAccessKey, AmazonSQSConfig amazonSqsConfig, AmazonSQSTransportOptions options = null) { var credentials = new BasicAWSCredentials(accessKeyId, secretAccessKey); ConfigureOneWayClient(configurer, GetTransportOptions(options, credentials, amazonSqsConfig)); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSQSAsOneWayClient(this StandardConfigurer <ITransport> configurer, AmazonSQSTransportOptions options = null) { ConfigureOneWayClient(configurer, GetTransportOptions(options, null, null)); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSQSAsOneWayClient(this StandardConfigurer <ITransport> configurer, AWSCredentials credentials, AmazonSQSConfig config, AmazonSQSTransportOptions options = null) { ConfigureOneWayClient(configurer, GetTransportOptions(options, credentials, config)); }
/// <summary> /// Configures Rebus to use Amazon Simple Queue Service as the message transport /// </summary> public static void UseAmazonSQSAsOneWayClient(this StandardConfigurer <ITransport> configurer, AWSCredentials credentials, RegionEndpoint regionEndpoint, AmazonSQSTransportOptions options = null) { var config = new AmazonSQSConfig { RegionEndpoint = regionEndpoint }; ConfigureOneWayClient(configurer, credentials, config, options ?? new AmazonSQSTransportOptions()); }