/// <summary> /// Adds a configuration callback to the builder that is used to configure /// a receiving endpoint for the Bus with the specified queue name. /// </summary> /// <param name="builder"><see cref="IAmazonSqsHostBuilder"/></param> /// <param name="queueName">The queue name for the receiving endpoint.</param> /// <param name="endpointConfigurator">The configuration callback to configure the receiving endpoint.</param> public static void AddReceiveEndpoint(this IAmazonSqsHostBuilder builder, string queueName, Action <IAmazonSqsReceiveEndpointBuilder> endpointConfigurator) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (queueName == null) { throw new ArgumentNullException(nameof(queueName)); } var endpointBuilder = new AmazonSqsReceiveEndpointBuilder(builder.Services); endpointConfigurator?.Invoke(endpointBuilder); builder.AddConfigurator((host, busFactory, serviceProvider) => { busFactory.ReceiveEndpoint(host, queueName, endpoint => { endpointBuilder.Configure(host, endpoint, serviceProvider); }); }); }
/// <summary> /// Sets the specified AccessKey and SecretKey as the credentials to AWS. /// </summary> /// <param name="builder"><see cref="IAmazonSqsHostBuilder"/></param> /// <param name="accessKey">Contains the AccessKey credential for AWS.</param> /// <param name="secretKey">Contains the SecretKey credential for AWS.</param> /// <returns><see cref="IAmazonSqsHostBuilder"/></returns> public static IAmazonSqsHostBuilder UseCredentials(this IAmazonSqsHostBuilder builder, string accessKey, string secretKey) { var credentials = new BasicAWSCredentials(accessKey, secretKey); return(builder.UseCredentials(credentials)); }
/// <summary> /// Sets the AWS region based on its system name like "us-west-1". /// </summary> /// <param name="builder"><see cref="IAmazonSqsHostBuilder"/></param> /// <param name="systemName">The system name of the service like "us-west-1".</param> /// <returns><see cref="IAmazonSqsHostBuilder"/></returns> public static IAmazonSqsHostBuilder UseRegion(this IAmazonSqsHostBuilder builder, string systemName) { var region = RegionEndpoint.GetBySystemName(systemName); return(builder.UseRegion(region)); }