package queue import ( "context" "encoding/json" "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" ) func Send(ctx context.Context, config *QueueConfig, typeName string, body interface{}) error { jsonBytes, err := json.Marshal(body) if err != nil { return err } strBody := string(jsonBytes) _, err = config.Client.SendMessage(ctx, &sqs.SendMessageInput{ MessageAttributes: map[string]types.MessageAttributeValue{ "type": { DataType: aws.String("String"), StringValue: aws.String(typeName), }, }, QueueUrl: aws.String(config.URL), MessageBody: aws.String(strBody), }) if err != nil { return err } return nil }