Skip to content

raphaelbressam/aws-facade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWSFacade

AWSFacade is a face of AWSSDK.

Package Version Downloads
AWSFacade NuGet Nuget

Dependencies

.NET Standard 2.1

You can check supported frameworks here:

https://learn.microsoft.com/pt-br/dotnet/standard/net-standard?tabs=net-standard-2-1

Instalation

This package is available through Nuget Packages: https://www.nuget.org/packages/AWSFacade

Nuget

Install-Package AWSFacade

.NET CLI

dotnet add package AWSFacade

How to use

SQS

Basic

using AWSFacade.SQS.Contracts;
using AWSFacade.SQS.Extensions;

services.AddSqsFacade(config =>
{
    config.MessageGroupId = "YOUR_GROUP_ID";
    config.QueueUrl = "YOUR_QUEUE_URL";
    config.RegionEndpoint = RegionEndpoint.SAEast1;
});

With Identification Name

using AWSFacade.SQS.Contracts;
using AWSFacade.SQS.Extensions;

services.AddSqsFacade("SQS_CUSTOMER", config =>
{
    config.MessageGroupId = "YOUR_GROUP_ID";
    config.QueueUrl = "YOUR_QUEUE_URL";
    config.RegionEndpoint = RegionEndpoint.SAEast1;
});
services.AddSqsFacade("SQS_SALES", config =>
{
    config.MessageGroupId = "YOUR_GROUP_ID";
    config.QueueUrl = "YOUR_QUEUE_URL";
    config.RegionEndpoint = RegionEndpoint.SAEast1;
});

Usage example A

var sqsFacadeFactory = serviceProvider.GetService<ISqsFacadeFactory>();
var sqsFacade = sqsFacadeFactory!.Create();

Usage example B

public class Customer
{
    private readonly ISqsFacade _sqsFacade;
    public Customer(ISqsFacadeFactory sqsFacadeFactory)
    {
        _sqsFacade = sqsFacadeFactory.Create();
    }
}

Usage example C

public class Customer
{
    private readonly ISqsFacade _customerSqs;
    private readonly ISqsFacade _salesSqs;
    public Customer(ISqsFacadeFactory sqsFacadeFactory)
    {
        _customerSqs = sqsFacadeFactory.Create("SQS_CUSTOMER");
        _salesSqs = sqsFacadeFactory.Create("SQS_SALES");
    }
}

SecretsManager

using AWSFacade.SecretsManager.Contracts;
using AWSFacade.SecretsManager.Extensions;

services.AddSecretsManagerCache((sp) => new AmazonSecretsManagerClient(new AmazonSecretsManagerConfig { RegionEndpoint = RegionEndpoint.SAEast1 }));

Usage example

var secretsCache = serviceProvider.GetService<ISecretsCache>();
string secretValue = secretsCache!.GetSecretValueAsync("YOUR_KEY");

Elasticache Redis

using AWSFacade.ElastiCache.Redis.Extensions;
using AWSFacade.SecretsManager.Extensions;

services.AddLogging();
services.AddSecretsManagerCache((sp) => ....);
services.AddElasticacheRedis(config =>
{
    config.AbortConnect = false;
    config.Endpoing = "localhost:6379";
    config.InstanceName = "test";
    config.SecretKey = "test";
    config.Ssl = true;
});

Usage example

var cache = serviceProvider.GetRequiredService<IDistributedCache>();

//SET KEY
await cache.SetStringAsync("test", "test");
//GET KEY
var result = await cache.GetStringAsync("test");

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages