Example #1
0
    static async Task Main()
    {
        Console.Title = "Samples.Sqs.SimpleSender";
        #region ConfigureEndpoint

        var endpointConfiguration = new EndpointConfiguration("Samples.Sqs.SimpleSender");

        var transport = new SqsTransport
        {
            S3 = new S3Settings("bucketname", "my/key/prefix")
        };

        var routing = endpointConfiguration.UseTransport(transport);

        #endregion

        routing.RouteToEndpoint(typeof(MyCommand), "Samples.Sqs.SimpleReceiver");
        endpointConfiguration.EnableInstallers();

        var endpointInstance = await Endpoint.Start(endpointConfiguration);

        await SendMessages(endpointInstance);

        await endpointInstance.Stop();
    }
Example #2
0
    void CustomTopicsMappingsTypeToType(EndpointConfiguration endpointConfiguration)
    {
        #region CustomTopicsMappingsTypeToType

        var transport = new SqsTransport();

        transport.MapEvent <SubscribedEvent, PublishedEvent>();

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #3
0
    void CustomTopicsMappingsTypeToTopic(EndpointConfiguration endpointConfiguration)
    {
        #region CustomTopicsMappingsTypeToTopic

        var transport = new SqsTransport();

        transport.MapEvent <SubscribedEvent>("topic-used-by-the-publisher");

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #4
0
    void CustomTopicsMappingsTypeToTopicForTopology(EndpointConfiguration endpointConfiguration)
    {
        #region CustomTopicsMappingsTypeToTopicForTopology

        var transport = new SqsTransport();

        transport.MapEvent <IOrderAccepted>("namespace-OrderAccepted");

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #5
0
    void WildcardsPrefix(EndpointConfiguration config)
    {
        #region wildcard-prefix-condition

        var transport = new SqsTransport();

        transport.Policies.TopicNamePrefixCondition = true;

        config.UseTransport(transport);

        #endregion
    }
Example #6
0
    void ClientFactory(EndpointConfiguration endpointConfiguration)
    {
        #region ClientFactory

        var transport = new SqsTransport(
            new AmazonSQSClient(new AmazonSQSConfig()),
            new AmazonSimpleNotificationServiceClient());

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #7
0
    void CredentialSource(EndpointConfiguration endpointConfiguration)
    {
        #region CredentialSource

        var transport = new SqsTransport(
            new AmazonSQSClient(new InstanceProfileAWSCredentials()),
            new AmazonSimpleNotificationServiceClient());

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #8
0
    void AssumePermissionsOnPolicy(EndpointConfiguration config)
    {
        #region assume-permissions

        var transport = new SqsTransport();

        transport.Policies.SetupTopicPoliciesWhenSubscribing = false;

        config.UseTransport(transport);

        #endregion
    }
    void Clients(EndpointConfiguration endpointConfiguration)
    {
        #region 5to6-clients

        var transport = new SqsTransport(
            new AmazonSQSClient(),
            new AmazonSimpleNotificationServiceClient());

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #10
0
    void WildcardsAccount(EndpointConfiguration config)
    {
        #region wildcard-account-condition

        var transport = new SqsTransport();

        transport.Policies.AccountCondition = true;

        config.UseTransport(transport);

        #endregion
    }
Example #11
0
    void MaxTTL(EndpointConfiguration endpointConfiguration)
    {
        #region MaxTTL

        var transport = new SqsTransport
        {
            MaxTimeToLive = TimeSpan.FromDays(10)
        };

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #12
0
    void V1BackwardsCompatibility(EndpointConfiguration endpointConfiguration)
    {
        #region V1BackwardsCompatibility

        var transport = new SqsTransport
        {
            EnableV1CompatibilityMode = true
        };

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
    public TransportConfigurationResult Configure(SettingsHolder settings, TransportTransactionMode transactionMode)
    {
        var sqsTransport = new SqsTransport();
        var sqsConfig    = new TransportExtensions <SqsTransport>(settings);

        sqsConfig.ConfigureSqsTransport(SetupFixture.SqsQueueNamePrefix);

        return(new TransportConfigurationResult
        {
            TransportInfrastructure = sqsTransport.Initialize(settings, ""),
            PurgeInputQueueOnStartup = false
        });
    }
Example #14
0
    void TopicNamePrefix(EndpointConfiguration endpointConfiguration)
    {
        #region TopicNamePrefix

        var transport = new SqsTransport
        {
            TopicNamePrefix = "DEV-"
        };

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #15
0
    void TopicNameGenerator(EndpointConfiguration endpointConfiguration)
    {
        #region TopicNameGenerator

        var transport = new SqsTransport
        {
            TopicNameGenerator = (eventType, topicNamePrefix) => $"{topicNamePrefix}{eventType.Name}"
        };

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #16
0
    void S3CredentialSource(EndpointConfiguration endpointConfiguration, string bucketName, string keyPrefix)
    {
        #region S3CredentialSource

        var transport = new SqsTransport
        {
            S3 = new S3Settings(bucketName, keyPrefix,
                                new AmazonS3Client(new InstanceProfileAWSCredentials()))
        };

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #17
0
    Usage(EndpointConfiguration endpointConfiguration)
    {
        #region SqsTransport

        // S3 bucket only required for messages larger than 256KB
        var transport = new SqsTransport
        {
            S3 = new S3Settings("myBucketName", "my/key/prefix")
        };

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #18
0
    void S3ClientFactory(EndpointConfiguration endpointConfiguration, string bucketName, string keyPrefix)
    {
        #region S3ClientFactory

        var transport = new SqsTransport
        {
            S3 = new S3Settings(bucketName, keyPrefix,
                                new AmazonS3Client(new AmazonS3Config()))
        };

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #19
0
    void Region(EndpointConfiguration endpointConfiguration)
    {
        #region Region

        var transport = new SqsTransport(new AmazonSQSClient(
                                             new AmazonSQSConfig
        {
            RegionEndpoint = RegionEndpoint.APSoutheast2
        }),
                                         new AmazonSimpleNotificationServiceClient());

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #20
0
    void WildcardsNamespace(EndpointConfiguration config)
    {
        #region wildcard-namespace-condition

        var transport = new SqsTransport();

        transport.Policies.TopicNamespaceConditions
        .Add("Sales.");
        transport.Policies.TopicNamespaceConditions
        .Add("Shipping.HighValueOrders.");

        config.UseTransport(transport);

        #endregion
    }
Example #21
0
    void S3BucketForLargeMessages(EndpointConfiguration endpointConfiguration)
    {
        #region S3BucketForLargeMessages

        var transport = new SqsTransport
        {
            S3 = new S3Settings(
                bucketForLargeMessages: "nsb-sqs-messages",
                keyPrefix: "my/sample/path")
        };

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #22
0
    public TransportConfigurationResult Configure(SettingsHolder settings, TransportTransactionMode transactionMode)
    {
        var sqsTransport = new SqsTransport();
        var sqsConfig    = new TransportExtensions <SqsTransport>(settings);

        sqsConfig.Region("ap-southeast-2")
        .QueueNamePrefix("TransportTest-")
        .S3BucketForLargeMessages("sqstransportmessages1337", "test")
        .NativeDeferral();

        return(new TransportConfigurationResult
        {
            TransportInfrastructure = sqsTransport.Initialize(settings, ""),
            PurgeInputQueueOnStartup = true
        });
    }
Example #23
0
    void S3ServerSideCustomerEncryption(EndpointConfiguration endpointConfiguration, string bucketName, string keyPrefix)
    {
        #region S3ServerSideCustomerEncryption

        var transport = new SqsTransport
        {
            S3 = new S3Settings(bucketName, keyPrefix)
            {
                Encryption = new S3EncryptionWithCustomerProvidedKey(ServerSideEncryptionCustomerMethod.AES256, "key", "keyMD5")
            }
        };

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #24
0
    void S3ServerSideEncryption(EndpointConfiguration endpointConfiguration, string bucketName, string keyPrefix)
    {
        #region 5to6-encryption

        var transport = new SqsTransport
        {
            S3 = new S3Settings(bucketName, keyPrefix)
            {
                Encryption = new S3EncryptionWithManagedKey(ServerSideEncryptionMethod.AES256, "keyId")
            }
        };

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #25
0
    void S3Region(EndpointConfiguration endpointConfiguration, string bucketName, string keyPrefix)
    {
        #region S3Region

        var transport = new SqsTransport
        {
            S3 = new S3Settings(bucketName, keyPrefix,
                                new AmazonS3Client(new AmazonS3Config
            {
                RegionEndpoint = RegionEndpoint.APSoutheast2
            }))
        };

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #26
0
    void Proxy(EndpointConfiguration endpointConfiguration, string userName, string password)
    {
        #region Proxy

        var transport = new SqsTransport(new AmazonSQSClient(
                                             new AmazonSQSConfig
        {
            ProxyCredentials = new NetworkCredential(userName, password),
            ProxyHost        = "127.0.0.1",
            ProxyPort        = 8888
        }),
                                         new AmazonSimpleNotificationServiceClient());

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #27
0
    void S3Proxy(EndpointConfiguration endpointConfiguration, string bucketName, string keyPrefix, string userName, string password)
    {
        #region S3Proxy

        var transport = new SqsTransport
        {
            S3 = new S3Settings(bucketName, keyPrefix,
                                new AmazonS3Client(new AmazonS3Config
            {
                ProxyCredentials = new NetworkCredential(userName, password),
                ProxyHost        = "127.0.0.1",
                ProxyPort        = 8888
            }))
        };

        endpointConfiguration.UseTransport(transport);

        #endregion
    }
Example #28
0
    static async Task Main()
    {
        Console.Title = "Samples.Sqs.SimpleReceiver";
        var endpointConfiguration = new EndpointConfiguration("Samples.Sqs.SimpleReceiver");

        endpointConfiguration.EnableInstallers();

        var transport = new SqsTransport
        {
            S3 = new S3Settings("bucketname", "my/key/prefix")
        };

        endpointConfiguration.UseTransport(transport);

        var endpointInstance = await Endpoint.Start(endpointConfiguration);

        Console.WriteLine("Press any key to exit");
        Console.ReadKey();
        await endpointInstance.Stop();
    }