diff --git a/main.go b/main.go index f8354fa..9a1f7ef 100644 --- a/main.go +++ b/main.go @@ -23,16 +23,15 @@ import ( ) type Config struct { - AWSA string - AWSU string - AWSP string - AWSR string - Topic string - Message string - REMSWrap bool - MessageID string - Ack bool - Pub bool + AWSA string + AWSU string + AWSP string + AWSR string + Topic string + Message string + REMSWrap bool + Ack string + Pub bool } type isoc struct{} @@ -84,9 +83,8 @@ func getConfig() (Config, error) { 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.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.Ack, "ack", true, "ack message matching message-id") flag.BoolVar(&c.Pub, "pub", false, "publish message") flag.Parse() @@ -148,7 +146,7 @@ func (c Config) Consume(ctx context.Context) error { wrap.Unwrap([]byte(*message.Body), &v, isoc{}) } 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 { 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 { - if !c.Ack { - return c.unack(ctx, message) - } client := sqs.New(session.Must(session.NewSession()), c.awsc()) if _, err := client.DeleteMessageWithContext(ctx, &sqs.DeleteMessageInput{ QueueUrl: aws.String(c.sqsurl()),