public void CreateBus(IServiceCollectionBusConfigurator busConfigurator, IStartupBusConfigurator configurator) { if (!configurator.HasSchedulerEndpoint) { busConfigurator.AddAmazonSqsMessageScheduler(); } busConfigurator.UsingAmazonSqs((context, cfg) => { var options = context.GetRequiredService <IOptions <AmazonSqsOptions> >().Value; if (string.IsNullOrWhiteSpace(options.Region)) { cfg.Host(new UriBuilder("amazonsqs://docker.localhost:4576") { Path = options.Scope }.Uri, h => { h.AccessKey("admin"); h.SecretKey("admin"); h.Config(new AmazonSimpleNotificationServiceConfig { ServiceURL = "http://docker.localhost:4575" }); h.Config(new AmazonSQSConfig { ServiceURL = "http://docker.localhost:4576" }); }); } else { cfg.Host(new UriBuilder("amazonsqs://host") { Host = options.Region, Path = options.Scope }.Uri, h => { h.AccessKey(options.AccessKey); h.SecretKey(options.SecretKey); }); } if (!configurator.TryConfigureQuartz(cfg)) { Log.Information("Configuring Amazon SQS Message Scheduler"); cfg.UseAmazonSqsMessageScheduler(); } configurator.ConfigureBus(cfg, context); }); }