class Backbone extends AmazonSqsOps with AmazonSnsOps
Subscribing to certain kinds of messages from various SNS topics and consume them via a Amazon SQS queue, and publish messages to an Amazon SNS topic.
- Alphabetic
- By Inheritance
- Backbone
- AmazonSnsOps
- AmazonSqsOps
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Backbone()(implicit sqs: SqsAsyncClient, sns: SnsAsyncClient, system: ActorSystem)
- sqs
implicit aws sqs async client
- sns
implicit aws sns async client
- system
implicit actor system
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def actorPublisher[T](settings: PublisherSettings, bufferSize: Int = Int.MaxValue, overflowStrategy: OverflowStrategy = OverflowStrategy.dropHead)(implicit mw: MessageWriter[T]): ActorRef
An actor reference that publishes received messages of type T to an AWS SNS topic.
An actor reference that publishes received messages of type T to an AWS SNS topic.
- T
type of messages to publish
- settings
PublisherSettings configuring Backbone
- bufferSize
size of the buffer
- overflowStrategy
strategy to use if the buffer is full
- mw
typeclass instance describing how to write a single message to a String
- returns
an ActorRef that publishes received messages
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def consume[T](settings: ConsumerSettings)(f: (T) => ProcessingResult)(implicit fo: MessageReader[T]): Future[Done]
Consume messages of type T until an optional condition in ConsumerSettings is met.
Consume messages of type T until an optional condition in ConsumerSettings is met.
Creates a queue with the name provided in settings if it does not already exist. Subscribes the queue to all provided topics and modifies the AWS Policy to allow sending messages to the queue from the topics.
- T
type of message to consume
- settings
ConsumerSettings configuring Backbone
- f
function which processes messages of type T and returns a ProcessingResult
- fo
Format[T] typeclass instance describing how to decode SQS Message to T
- returns
a future completing when the stream quits
- def consumeAsync[T](settings: ConsumerSettings)(f: (T) => Future[ProcessingResult])(implicit fo: MessageReader[T]): Future[Done]
Consume messages of type T until an optional condition in ConsumerSettings is met.
Consume messages of type T until an optional condition in ConsumerSettings is met.
Creates a queue with the name provided in settings if it does not already exist. Subscribes the queue to all provided topics and modifies the AWS Policy to allow sending messages to the queue from the topics.
- T
type of message to consume
- settings
ConsumerSettings configuring Backbone
- f
function which processes messages of type T and returns a Future[ProcessingResult]
- fo
Format[T] typeclass instance describing how to decode SQS Message to T
- returns
a future completing when the stream quits
- def consumeWithHeaders[T](settings: ConsumerSettings)(f: (T, MessageHeaders) => ProcessingResult)(implicit fo: MessageReader[T]): Future[Done]
Consume messages of type T including MessageHeaders until an optional condition in ConsumerSettings is met.
Consume messages of type T including MessageHeaders until an optional condition in ConsumerSettings is met.
Creates a queue with the name provided in settings if it does not already exist. Subscribes the queue to all provided topics and modifies the AWS Policy to allow sending messages to the queue from the topics.
- T
type of message to consume
- settings
ConsumerSettings configuring Backbone
- f
function which processes messages of type T and returns a ProcessingResult
- fo
Format[T] typeclass instance describing how to decode SQS Message to T
- returns
a future completing when the stream quits
- def consumeWithHeadersAsync[T](settings: ConsumerSettings)(f: (T, MessageHeaders) => Future[ProcessingResult])(implicit fo: MessageReader[T]): Future[Done]
Consume messages of type T until an optional condition in ConsumerSettings is met.
Consume messages of type T until an optional condition in ConsumerSettings is met.
Creates a queue with the name provided in settings if it does not already exist. Subscribes the queue to all provided topics and modifies the AWS Policy to allow sending messages to the queue from the topics.
- T
type of message to consume
- settings
ConsumerSettings configuring Backbone
- f
function which processes messages of type T and returns a Future[ProcessingResult]
- fo
Format[T] typeclass instance describing how to decode SQS Message to T
- returns
a future completing when the stream quits
- def createQueue(params: CreateQueueParams)(implicit ec: ExecutionContext): Future[QueueInformation]
- Definition Classes
- AmazonSqsOps
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def getQueueArn(queueUrl: String)(implicit ec: ExecutionContext): Future[String]
- Definition Classes
- AmazonSqsOps
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def publishAsync[T](messages: List[T], settings: PublisherSettings)(implicit mw: MessageWriter[T]): Future[Done]
Publish a list of messages of type T to an AWS SNS topic.
Publish a list of messages of type T to an AWS SNS topic.
- T
type of messages to publish
- messages
the messages to publish
- settings
PublisherSettings configuring Backbone
- mw
typeclass instance describing how to write a single message to a String
- returns
a future completing when the stream quits
- def publishAsync[T](message: T, settings: PublisherSettings)(implicit mw: MessageWriter[T]): Future[Done]
Publish a single message of type T to an AWS SNS topic.
Publish a single message of type T to an AWS SNS topic.
- T
type of message to publish
- message
the message to publish
- settings
PublisherSettings configuring Backbone
- mw
typeclass instance describing how to write the message to a String
- returns
a future completing when the stream quits
- def publishWithHeadersAsync[T](message: T, headers: MessageHeaders, settings: PublisherSettings)(implicit mw: MessageWriter[T]): Future[Done]
Publish a single message of type T including MessageHeaders to an AWS SNS topic.
Publish a single message of type T including MessageHeaders to an AWS SNS topic.
- T
type of message to publish
- message
the message to publish
- settings
PublisherSettings configuring Backbone
- mw
typeclass instance describing how to write the message to a String
- returns
a future completing when the stream quits
- def publisherSink[T](settings: PublisherSettings)(implicit mw: MessageWriter[T]): Sink[T, Future[Done]]
Returns a sink that publishes received messages of type T to an AWS SNS topic.
Returns a sink that publishes received messages of type T to an AWS SNS topic.
- T
type of messages to publish
- settings
PublisherSettings configuring Backbone
- mw
typeclass instance describing how to write a single message to a String
- returns
a Sink that publishes received messages
- def publisherSinkWithHeaders[T](settings: PublisherSettings)(implicit mw: MessageWriter[T]): Sink[(T, MessageHeaders), Future[Done]]
Returns a sink that publishes received messages of type T including message headers to an AWS SNS topic.
Returns a sink that publishes received messages of type T including message headers to an AWS SNS topic.
- T
type of messages to publish
- settings
PublisherSettings configuring Backbone
- mw
typeclass instance describing how to write a single message to a String
- returns
a Sink that publishes received messages
- def savePolicy(queueUrl: String, policy: String)(implicit ec: ExecutionContext): Future[Unit]
- Definition Classes
- AmazonSqsOps
- implicit val sns: SnsAsyncClient
- Definition Classes
- Backbone → AmazonSnsOps
- implicit val sqs: SqsAsyncClient
- Definition Classes
- Backbone → AmazonSqsOps
- def subscribe(queue: QueueInformation, topicArn: String)(implicit ec: ExecutionContext): Future[Unit]
- Definition Classes
- AmazonSnsOps
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)