Table of Contents

ServiceCollectionExtensions Class

Definition

Extension methods for the IServiceCollection interface.

public static class ServiceCollectionExtensions
Inheritance
object
ServiceCollectionExtensions

Examples

Register Amazon SQS command queues and SNS event buses in the DI container with AddAmazonCommandQueue and AddAmazonEventBus. Both methods configure AWS credentials and resource settings.

using System;
using Amazon;
using Amazon.Runtime;
using Microsoft.Extensions.DependencyInjection;
using Savvyio.Extensions.DependencyInjection;
using Savvyio.Extensions.DependencyInjection.SimpleQueueService;

namespace ExampleApp;

public static class AmazonRegistration
{
    public static IServiceCollection Configure(IServiceCollection services)
    {
        services.AddSavvyIO();
        services.AddAmazonCommandQueue(options =>
        {
            options.Credentials = new AnonymousAWSCredentials();
            options.Endpoint = RegionEndpoint.EUWest1;
            options.SourceQueue = new Uri("https://sqs.eu-west-1.amazonaws.com/123456789012/account-commands");
        });
        services.AddAmazonEventBus(options =>
        {
            options.Credentials = new AnonymousAWSCredentials();
            options.Endpoint = RegionEndpoint.EUWest1;
            options.SourceQueue = new Uri("https://sqs.eu-west-1.amazonaws.com/123456789012/account-events");
        });
        return services;
    }
}

Methods

Name Description
AddAmazonCommandQueue(IServiceCollection, Action<AmazonCommandQueueOptions>, Action<ServiceOptions>)

Adds an AmazonCommandQueue implementation to the specified IServiceCollection.

AddAmazonCommandQueue<TMarker>(IServiceCollection, Action<AmazonCommandQueueOptions<TMarker>>, Action<ServiceOptions>)

Adds an AmazonCommandQueue<TMarker> implementation to the specified IServiceCollection.

AddAmazonEventBus(IServiceCollection, Action<AmazonEventBusOptions>, Action<ServiceOptions>)

Adds an AmazonEventBus implementation to the specified IServiceCollection.

AddAmazonEventBus<TMarker>(IServiceCollection, Action<AmazonEventBusOptions<TMarker>>, Action<ServiceOptions>)

Adds an AmazonEventBus<TMarker> implementation to the specified IServiceCollection.