'Unable to set default tags for every queues in Amazon SQS using nservice bus

Currently, I have to switch our messaging system to use AmazonSQS and due to pricing policy, we are obliged to put tags. But I do not found any method to add tags.

Below the method which won't work due to fact that this approach is expecting that the queues already exist and I can get URL of the queue:

public static EndpointConfiguration CreateEndpointConfiguration(BusConfig config)
    {
        var endpointConfiguration = new EndpointConfiguration(config.QueueName);

        endpointConfiguration.LicensePath("license.xml");
        endpointConfiguration.SendFailedMessagesTo($"{config.QueueName}.Errors");
        endpointConfiguration.EnableInstallers();
        endpointConfiguration.UseSerialization<NewtonsoftSerializer>();
        endpointConfiguration.LimitMessageProcessingConcurrencyTo(10);

        endpointConfiguration.Conventions()
                             .DefiningEventsAs(type => typeof(IMessage).IsAssignableFrom(type))
                             .DefiningCommandsAs(type => typeof(ICommand).IsAssignableFrom(type));

        var transport = endpointConfiguration.UseTransport<SqsTransport>();
        transport.ClientFactory(() =>
        {
            var amazonSQSConfig = new AmazonSQSConfig()
            {
                RegionEndpoint = RegionEndpoint.USWest2
            };
            var client = new AmazonSQSClient(amazonSQSConfig);
            
            var addedTags = new Dictionary<string, string>();
            addedTags.Add("Team", "Development");
            addedTags.Add("Accounting ID", "number");

            var tagQueueRequest = new TagQueueRequest()
            {
                Tags = addedTags
            };

            client.TagQueueAsync(tagQueueRequest);
            
            return client;
        });
        transport.QueueNamePrefix("some-prefix");
        
        endpointConfiguration.Recoverability()
                             .AddUnrecoverableException<CustomException>();

        return endpointConfiguration;
    }

Can you provide solution for adding automatically tags during configuring endpoints? Thank you for any help



Solution 1:[1]

The NServiceBus integration with SQS doesn't seem to support configuration of tags at the moment. You'd have to manually create your queues upfront with the appropriate tags or manually add tags to existing queues.

You can raise feature requests for tag support on Particular Software's SQS transport repository here: https://github.com/Particular/NServiceBus.AmazonSQS

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Sabacc