Packages

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.

Linear Supertypes
AmazonSnsOps, AmazonSqsOps, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Backbone
  2. AmazonSnsOps
  3. AmazonSqsOps
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. 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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. 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

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  7. 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

  8. 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

  9. 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

  10. 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

  11. def createQueue(params: CreateQueueParams)(implicit ec: ExecutionContext): Future[QueueInformation]
    Definition Classes
    AmazonSqsOps
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  15. def getQueueArn(queueUrl: String)(implicit ec: ExecutionContext): Future[String]
    Definition Classes
    AmazonSqsOps
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. def savePolicy(queueUrl: String, policy: String)(implicit ec: ExecutionContext): Future[Unit]
    Definition Classes
    AmazonSqsOps
  27. implicit val sns: SnsAsyncClient
    Definition Classes
    Backbone → AmazonSnsOps
  28. implicit val sqs: SqsAsyncClient
    Definition Classes
    Backbone → AmazonSqsOps
  29. def subscribe(queue: QueueInformation, topicArn: String)(implicit ec: ExecutionContext): Future[Unit]
    Definition Classes
    AmazonSnsOps
  30. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  31. def toString(): String
    Definition Classes
    AnyRef → Any
  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  34. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AmazonSnsOps

Inherited from AmazonSqsOps

Inherited from AnyRef

Inherited from Any

Ungrouped