示例#1
0
 public SQSConsumer(IOptions <SQSClientOptions> options, ILogger <SQSConsumer <TData> > logger,
                    IApplicationNameService applicationNameService, ISQSClientFactory sqsClientFactory)
 {
     _options = options.Value;
     _logger  = logger;
     _applicationNameService = applicationNameService;
     _amazonSqsClient        = sqsClientFactory.From(_options);
 }
示例#2
0
    private SQSClientOptions GetSqsClientOptions(string queueName)
    {
        var clientOptions = new SQSClientOptions
        {
            ServiceUrl = $"{_baseSQSUrl}",
            QueueUrl   = $"{_baseSQSUrl}/queue/{queueName}"
        };

        return(clientOptions);
    }
    public IAmazonSQS From(SQSClientOptions clientOptions)
    {
        var amazonSqsConfig = new AmazonSQSConfig();

        if (!string.IsNullOrWhiteSpace(clientOptions.ServiceUrl))
        {
            amazonSqsConfig.ServiceURL = clientOptions.ServiceUrl;
        }

        if (!string.IsNullOrWhiteSpace(clientOptions.Region))
        {
            amazonSqsConfig.RegionEndpoint = RegionEndpoint.GetBySystemName(clientOptions.Region);
        }

        return(new AmazonSQSClient(clientOptions.AwsAccessKeyId, clientOptions.AwsSecretAccessKey, amazonSqsConfig));
    }