core_message_queue

package module
v0.0.0-...-eeb1421 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2023 License: MIT Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(config Config) (*session.Session, error)

Types

type Attribute

type Attribute struct {
	Key   string
	Value string
	Type  string
}

type ClientParams

type ClientParams struct {
	Region                      *string
	Endpoint                    *string
	AwsProfile                  *string
	AwsId                       *string
	AwsSecret                   *string
	Urls                        *QueueUrlSet
	WriteOperationTimeout       *time.Duration
	MaxNumberOfMessagesToIngest *int
	ReadOperationTimeout        *time.Duration
	Attributes                  *[]string
}

type Config

type Config struct {
	Address string
	Region  string
	Profile string
	ID      string
	Secret  string
}

type HandleConfig

type HandleConfig struct {
	MaxNumberOfMessages *int
	MaxWaitTimeSeconds  *time.Duration
	Attributes          *[]string
}

type Message

type Message struct {
	ID            string
	ReceiptHandle string
	Body          string
	Attributes    map[string]string
}

type MessageClientInterface

type MessageClientInterface interface {
	// Sends a message to a queue
	Send(ctx context.Context, req *SendRequest) (string, error)
	// Sends a message to a queue
	SendMessage(ctx context.Context, msg *sqs.SendMessageInput) (*string, error)
	// Long polls given amount of messages from a queue.
	Receive(ctx context.Context, queueURL string) ([]*Message, error)
	// Deletes a message from a queue.
	Delete(ctx context.Context, queueURL, rcvHandle string) error
}

type QueueUrlSet

type QueueUrlSet struct {
	AlgoliaSearchUrl *string
	SendgridUrl      *string
	GetStreamUrl     *string
}

type SendRequest

type SendRequest struct {
	QueueURL   string
	Body       string
	Attributes []Attribute
}

type SqsQueueHandle

type SqsQueueHandle struct {
	Client    sqsiface.SQSAPI
	QueueUrls *QueueUrlSet

	ReadTimeout  time.Duration
	WriteTimeout time.Duration
	Config       *HandleConfig
	// contains filtered or unexported fields
}

func NewClient

func NewClient(params *ClientParams) (SqsQueueHandle, error)

NewSQS returns a new sns client for the passed in region

func (SqsQueueHandle) Delete

func (h SqsQueueHandle) Delete(ctx context.Context, queueURL, rcvHandle string) error

func (SqsQueueHandle) Receive

func (h SqsQueueHandle) Receive(ctx context.Context, queueURL string) ([]*Message, error)

func (SqsQueueHandle) Send

func (h SqsQueueHandle) Send(ctx context.Context, req *SendRequest) (string, error)

func (SqsQueueHandle) SendMessage

func (h SqsQueueHandle) SendMessage(ctx context.Context, msg *sqs.SendMessageInput) (*string, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL