sqs

package
v1.24.3 Latest Latest
Warning

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

Go to latest
Published: May 25, 2022 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package sqs provides a basic FIFO client for AWS SQS (Amazon Simple Queue Service).

Index

Constants

View Source
const (
	// DefaultWaitTimeSeconds is the default duration (in seconds) for which the call waits for a message to arrive in the queue before returning.
	// This must be between 0 and 20 seconds.
	DefaultWaitTimeSeconds = 20

	// DefaultVisibilityTimeout is the default duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.
	DefaultVisibilityTimeout = 600
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is a wrapper for the SQS client in the AWS SDK.

func New

func New(ctx context.Context, queueURL, msgGroupID string, opts ...Option) (*Client, error)

New creates a new instance of the SQS client wrapper.

func (*Client) Delete

func (c *Client) Delete(ctx context.Context, msg *Message) error

Delete deletes the specified message from the queue.

func (*Client) Receive

func (c *Client) Receive(ctx context.Context) (*Message, error)

Receive retrieves a message from the queue. This function will wait up to WaitTimeSeconds seconds for a message to be available, otherwise it will return an empty message. Once retrieved, a message will not be visible for up to VisibilityTimeout seconds. Once processed the message should be removed from the queue by calling the Delete method.

func (*Client) Send

func (c *Client) Send(ctx context.Context, message string) error

Send delivers a message to the queue.

type Message

type Message struct {
	// can contain: JSON, XML, plain text.
	Body string
	// contains filtered or unexported fields
}

Message represents a message in the queue.

type Option

type Option func(*cfg)

Option is a type to allow setting custom client options.

func WithAWSOption added in v1.23.0

func WithAWSOption(opt func(*config.LoadOptions) error) Option

WithAWSOption allows to add an arbitrary AWS option.

func WithEndpoint

func WithEndpoint(url string, isImmutable bool) Option

WithEndpoint overrides the AWS endpoint for the service.

func WithRegion added in v1.24.0

func WithRegion(region string) Option

WithRegion allows to specify the AWS region.

func WithRegionFromURL added in v1.24.2

func WithRegionFromURL(url string) Option

WithRegionFromURL allows to specify the AWS region extracted from the provided URL.

func WithVisibilityTimeout

func WithVisibilityTimeout(t int32) Option

WithVisibilityTimeout overrides the default duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request. Values range: 0 to 43200. Maximum: 12 hours.

func WithWaitTimeSeconds

func WithWaitTimeSeconds(t int32) Option

WithWaitTimeSeconds overrides the default duration (in seconds) for which the call waits for a message to arrive in the queue before returning. Values range: 0 to 20 seconds.

type SQS

type SQS interface {
	SendMessage(ctx context.Context, params *sqs.SendMessageInput, optFns ...func(*sqs.Options)) (*sqs.SendMessageOutput, error)
	ReceiveMessage(ctx context.Context, params *sqs.ReceiveMessageInput, optFns ...func(*sqs.Options)) (*sqs.ReceiveMessageOutput, error)
	DeleteMessage(ctx context.Context, params *sqs.DeleteMessageInput, optFns ...func(*sqs.Options)) (*sqs.DeleteMessageOutput, error)
}

SQS represents the mockable functions in the AWS SDK SQS client.

Jump to

Keyboard shortcuts

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