package main import ( "context" "io" "log" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/sqs" "github.com/aws/aws-sdk-go-v2/service/sqs/types" "github.com/davecgh/go-spew/spew" "gopkg.in/yaml.v2" ) func lister(ctx context.Context, w io.Writer, client *sqs.Client) string { lqo, err := client.ListQueues(ctx, &sqs.ListQueuesInput{ MaxResults: aws.Int32(10), NextToken: nil, QueueNamePrefix: aws.String(""), }) if err != nil { log.Fatalf("failed listing queues: %v", err) } y := yaml.NewEncoder(w) y.Encode(lqo.QueueUrls) return lqo.QueueUrls[0] } func receiver(ctx context.Context, w io.Writer, client *sqs.Client, qURL string) { rmi := sqs.ReceiveMessageInput{ QueueUrl: &qURL, AttributeNames: []types.QueueAttributeName{"All"}, MaxNumberOfMessages: 0, MessageAttributeNames: nil, ReceiveRequestAttemptId: nil, VisibilityTimeout: 0, WaitTimeSeconds: 0, } msg, err := client.ReceiveMessage(ctx, &rmi) if err != nil { log.Fatalf("failed receiving from queue %s: %v", err) } spew.Dump(msg.Messages) }