instead of ack+message-id just -ack message-id

This commit is contained in:
Bel LaPointe
2023-02-06 08:10:29 -07:00
parent 839289ea81
commit 4beaa4c387

27
main.go
View File

@@ -23,16 +23,15 @@ import (
) )
type Config struct { type Config struct {
AWSA string AWSA string
AWSU string AWSU string
AWSP string AWSP string
AWSR string AWSR string
Topic string Topic string
Message string Message string
REMSWrap bool REMSWrap bool
MessageID string Ack string
Ack bool Pub bool
Pub bool
} }
type isoc struct{} type isoc struct{}
@@ -84,9 +83,8 @@ func getConfig() (Config, error) {
flag.StringVar(&c.AWSR, "awsr", "eu-central-1", "aws region") flag.StringVar(&c.AWSR, "awsr", "eu-central-1", "aws region")
flag.StringVar(&c.Topic, "topic", "rems-queue-prod-fra1-priority-low", "sns topic/sqs queue") flag.StringVar(&c.Topic, "topic", "rems-queue-prod-fra1-priority-low", "sns topic/sqs queue")
flag.StringVar(&c.Message, "message", `{"messageType": "NoOpMessage"}`, "published message") flag.StringVar(&c.Message, "message", `{"messageType": "NoOpMessage"}`, "published message")
flag.StringVar(&c.MessageID, "message-id", "", "sqs message id to ack") flag.StringVar(&c.Ack, "ack", "", "sqs message id to ack")
flag.BoolVar(&c.REMSWrap, "rems-wrap", true, "rems wrap message") flag.BoolVar(&c.REMSWrap, "rems-wrap", true, "rems wrap message")
flag.BoolVar(&c.Ack, "ack", true, "ack message matching message-id")
flag.BoolVar(&c.Pub, "pub", false, "publish message") flag.BoolVar(&c.Pub, "pub", false, "publish message")
flag.Parse() flag.Parse()
@@ -148,7 +146,7 @@ func (c Config) Consume(ctx context.Context) error {
wrap.Unwrap([]byte(*message.Body), &v, isoc{}) wrap.Unwrap([]byte(*message.Body), &v, isoc{})
} }
log.Printf("message in queue: %s: %s: %+v", *message.MessageId, *message.Body, v) log.Printf("message in queue: %s: %s: %+v", *message.MessageId, *message.Body, v)
if *message.MessageId != c.MessageID { if *message.MessageId != c.Ack {
if err := c.unack(ctx, message); err != nil { if err := c.unack(ctx, message); err != nil {
return err return err
} }
@@ -175,9 +173,6 @@ func (c Config) unack(ctx context.Context, message *sqs.Message) error {
} }
func (c Config) ack(ctx context.Context, message *sqs.Message) error { func (c Config) ack(ctx context.Context, message *sqs.Message) error {
if !c.Ack {
return c.unack(ctx, message)
}
client := sqs.New(session.Must(session.NewSession()), c.awsc()) client := sqs.New(session.Must(session.NewSession()), c.awsc())
if _, err := client.DeleteMessageWithContext(ctx, &sqs.DeleteMessageInput{ if _, err := client.DeleteMessageWithContext(ctx, &sqs.DeleteMessageInput{
QueueUrl: aws.String(c.sqsurl()), QueueUrl: aws.String(c.sqsurl()),