Table of Contents

Namespace AWS.Messaging

Classes

AWSMessagingException

A wrapper for the exceptions thrown by AWS Messaging.

ConfigurationException

An exception thrown with the configuration for messaging is invalid.

EventBridgeMetadata

Contains Metadata related to Amazon EventBridge.

EventBridgePutEventsException

Thrown if the EventBridgePublishResponse contains a message with an error code

FailedToCreateMessageEnvelopeConfigurationException

Thrown if failed to create a AWS.Messaging.MessageEnvelopeConfiguration instance.

FailedToCreateMessageEnvelopeException

Thrown if failed to create a MessageEnvelope

FailedToDeserializeApplicationMessageException

Thrown if failed to deserialize the application message while invoking Deserialize(string, Type)

FailedToFindAWSServiceClientException

Thrown if could not retrieve the AWS service client from the DI container.

FailedToPublishException

Thrown if an exception occurs while publishing the message.

FailedToSerializeApplicationMessageException

Thrown if failed to serialize the application message while invoking Serialize(object)

FailedToSerializeMessageEnvelopeException

Thrown if failed to serialize a MessageEnvelope

InvalidAppSettingsConfigurationException

Thrown if the provided IConfiguration is invalid.

InvalidBackoffOptionsException

Thrown when the backoff policy options are configured with one or more invalid values.

InvalidFifoPublishingRequestException

Thrown when the publish request to a FIFO endpoint is invalid.

InvalidMessageException

Thrown if the message being sent is invalid.

InvalidMessageHandlerSignatureException

Thrown during message handling if unable to find an HandleAsync(MessageEnvelope<T>, CancellationToken) method on the handler type for a given message

InvalidMessageHandlerTypeException

Thrown if the provided message handler is not valid for the provided message type.

InvalidMessageTypeException

Thrown if the message type full name cannot be retrieved.

InvalidPublisherEndpointException

Thrown if the publisher endpoint is not valid.

InvalidPublisherTypeException

Thrown if the publisher type full name cannot be retrieved.

InvalidSQSMessagePollerOptionsException

Thrown when an SQSMessagePollerOptions is configured with one or more invalid values

InvalidSQSQueueArnException

Thrown when an invalid SQS queue ARN is encountered.

InvalidSubscriberEndpointException

Thrown if the subscriber endpoint is not valid.

MessageEnvelope

Abstract MessageEnvelope containing all of the envelope information without the specific message. This class adheres to the CloudEvents specification v1.0 and contains all the attributes that are marked as required by the spec. The CloudEvent spec can be found here.

MessageEnvelope<T>

Generic class for MessageEnvelope objects. This class adheres to the CloudEvents specification v1.0 and contains all the attributes that are marked as required by the spec. The CloudEvent spec can be found here.

MessageProcessStatus

Status returned after processing messages from the IMessageHandler<T>. The status informs the IMessageManager what should be done with the message after the message has been attempted to be processed.

For example using the Success() would tell the IMessageManager to delete the message from the underlying service like SQS.

MissingMessageTypeConfigurationException

Thrown if the a publisher mapping cannot be found for a specific message type.

MissingSQSMetadataException

Thrown when attempting to perform an SQS operation on a message without a valid SQSMetadata

SNSMetadata

Contains Metadata related to Amazon SNS

SQSMetadata

Contains metadata related to Amazon SQS.

UnsupportedPublisherException

Thrown if a publisher type outside of PublisherTargetType is provided.

Interfaces

IMessageHandler<T>

This interface is implemented by the users of this library for each type of message that should be processed.

The implementation of this interface is where the business logic for processing a particular message type is written. The message type is indicated by the generic type T for the interface. The library will call the handler whenever the message type is read from the message source.

IMessagePublisher

This interface allows publishing messages from application code to configured AWS services. It exposes the PublishAsync<T>(T, CancellationToken) method which takes in a user-defined message and looks up the corresponding PublisherMapping in order to route it to the appropriate AWS services. Using dependency injection, this interface is available to inject anywhere in the code.