# README

aws-sdk-go-v2-wrapper | SQS

Quick Usage

import (
	"context"

	"github.com/evalphobia/aws-sdk-go-v2-wrapper/config"
	"github.com/evalphobia/aws-sdk-go-v2-wrapper/sqs"
)

func main() {
	svc, err := sqs.New(config.Config{
		AccessKey: "<...>",
		SecretKey: "<...>",
	})
	if err != nil {
		panic(err)
	}
	ctx := context.Background()


	// create queue
	queueName := "my-queue"
	queueURL, err := svc.XCreateQueue(ctx, "my-queue")
	if err != nil {
		panic(err)
	}

	err := svc.XSendMessage(ctx, queueURL, "foo")
	if err != nil {
		panic(err)
	}

	messages, err := svc.XReceiveMessage(ctx, queueURL)
	if err != nil {
		panic(err)
	}


	err = svc.XPurgeQueue(ctx, queueURL)
	if err != nil {
		panic(err)
	}

	err = svc.XPurgeQueueByName(ctx, queueName)
	if err != nil {
		panic(err)
	}

	err = svc.XDeleteQueueByName(ctx, queueName)
	if err != nil {
		panic(err)
	}
	// ...
}

X API

NameDescription
XCreateQueuecreates a SQS queue.
XDeleteQueuedeletes a SQS queue.
XDeleteQueueByNamedeletes a SQS queue by queue name.
XExistsQueuechecks if the SQS queue exists or not.
XGetQueueURLgets a SQS queue url.
XListAllQueueURLsgets all of the SQS queue url.
XPurgeQueuepurges message in the queue.
XPurgeQueueByNamepurges message in the queue by queue name.
XDeleteMessagedeletes a message.
XReceiveMessagereceives messages.
XReceiveMessageLongPollingreceives messages by long polling.
XSendMessagesends a message.
XIsEmptyQueuechecks if the queue have any message or not.