Documentation
¶
Overview ¶
Package driver defines the interface for message queue service implementations.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeadLetterConfig ¶
type DeadLetterConfig struct {
TargetQueueURL string
MaxReceiveCount int // move to DLQ after this many receives
}
DeadLetterConfig configures a dead-letter queue for failed messages.
type Message ¶
type Message struct {
MessageID string
ReceiptHandle string
Body string
Attributes map[string]string
GroupID string
}
Message is a received message.
type MessageQueue ¶
type MessageQueue interface {
CreateQueue(ctx context.Context, config QueueConfig) (*QueueInfo, error)
DeleteQueue(ctx context.Context, url string) error
GetQueueInfo(ctx context.Context, url string) (*QueueInfo, error)
ListQueues(ctx context.Context, prefix string) ([]QueueInfo, error)
SendMessage(ctx context.Context, input SendMessageInput) (*SendMessageOutput, error)
ReceiveMessages(ctx context.Context, input ReceiveMessageInput) ([]Message, error)
DeleteMessage(ctx context.Context, queueURL, receiptHandle string) error
ChangeVisibility(ctx context.Context, queueURL, receiptHandle string, timeout int) error
}
MessageQueue is the interface that message queue provider implementations must satisfy.
type QueueConfig ¶
type QueueConfig struct {
Name string
FIFO bool
DelaySeconds int
VisibilityTimeout int // seconds
MaxMessageSize int
MessageRetention int // seconds
Tags map[string]string
DeadLetterQueue *DeadLetterConfig
}
QueueConfig describes a message queue to create.
type QueueInfo ¶
type QueueInfo struct {
URL string
ARN string
Name string
FIFO bool
ApproxMessageCount int
Tags map[string]string
}
QueueInfo describes a message queue.
type ReceiveMessageInput ¶
type ReceiveMessageInput struct {
QueueURL string
MaxMessages int
WaitTimeSeconds int
VisibilityTimeout int
}
ReceiveMessageInput configures a message receive operation.
type SendMessageInput ¶
type SendMessageInput struct {
QueueURL string
Body string
DelaySeconds int
GroupID string // FIFO only
DeduplicationID string // FIFO only
Attributes map[string]string
}
SendMessageInput configures a message send operation.
type SendMessageOutput ¶
type SendMessageOutput struct {
MessageID string
}
SendMessageOutput is the result of sending a message.
Click to show internal directories.
Click to hide internal directories.