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(); }
void CustomTopicsMappingsTypeToType(EndpointConfiguration endpointConfiguration) { #region CustomTopicsMappingsTypeToType var transport = new SqsTransport(); transport.MapEvent <SubscribedEvent, PublishedEvent>(); endpointConfiguration.UseTransport(transport); #endregion }
void CustomTopicsMappingsTypeToTopic(EndpointConfiguration endpointConfiguration) { #region CustomTopicsMappingsTypeToTopic var transport = new SqsTransport(); transport.MapEvent <SubscribedEvent>("topic-used-by-the-publisher"); endpointConfiguration.UseTransport(transport); #endregion }
void CustomTopicsMappingsTypeToTopicForTopology(EndpointConfiguration endpointConfiguration) { #region CustomTopicsMappingsTypeToTopicForTopology var transport = new SqsTransport(); transport.MapEvent <IOrderAccepted>("namespace-OrderAccepted"); endpointConfiguration.UseTransport(transport); #endregion }
void WildcardsPrefix(EndpointConfiguration config) { #region wildcard-prefix-condition var transport = new SqsTransport(); transport.Policies.TopicNamePrefixCondition = true; config.UseTransport(transport); #endregion }
void ClientFactory(EndpointConfiguration endpointConfiguration) { #region ClientFactory var transport = new SqsTransport( new AmazonSQSClient(new AmazonSQSConfig()), new AmazonSimpleNotificationServiceClient()); endpointConfiguration.UseTransport(transport); #endregion }
void CredentialSource(EndpointConfiguration endpointConfiguration) { #region CredentialSource var transport = new SqsTransport( new AmazonSQSClient(new InstanceProfileAWSCredentials()), new AmazonSimpleNotificationServiceClient()); endpointConfiguration.UseTransport(transport); #endregion }
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 }
void WildcardsAccount(EndpointConfiguration config) { #region wildcard-account-condition var transport = new SqsTransport(); transport.Policies.AccountCondition = true; config.UseTransport(transport); #endregion }
void MaxTTL(EndpointConfiguration endpointConfiguration) { #region MaxTTL var transport = new SqsTransport { MaxTimeToLive = TimeSpan.FromDays(10) }; endpointConfiguration.UseTransport(transport); #endregion }
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 }); }
void TopicNamePrefix(EndpointConfiguration endpointConfiguration) { #region TopicNamePrefix var transport = new SqsTransport { TopicNamePrefix = "DEV-" }; endpointConfiguration.UseTransport(transport); #endregion }
void TopicNameGenerator(EndpointConfiguration endpointConfiguration) { #region TopicNameGenerator var transport = new SqsTransport { TopicNameGenerator = (eventType, topicNamePrefix) => $"{topicNamePrefix}{eventType.Name}" }; endpointConfiguration.UseTransport(transport); #endregion }
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 }
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 }
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 }
void Region(EndpointConfiguration endpointConfiguration) { #region Region var transport = new SqsTransport(new AmazonSQSClient( new AmazonSQSConfig { RegionEndpoint = RegionEndpoint.APSoutheast2 }), new AmazonSimpleNotificationServiceClient()); endpointConfiguration.UseTransport(transport); #endregion }
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 }
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 }
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 }); }
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 }
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 }
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 }
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 }
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 }
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(); }