Esempio n. 1
0
        /// <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);
                });
            });
        }
Esempio n. 2
0
        /// <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));
        }
Esempio n. 3
0
        /// <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));
        }