123456789101112131415161718192021222324252627282930313233 |
- package main
- import (
- "context"
- "encoding/json"
- "fmt"
- "time"
- "github.com/aws/aws-sdk-go-v2/service/sqs/types"
- "github.com/google/uuid"
- )
- // HandleDummy is blissfully unaware of SQS, and could therefore be used as a handler for another message queue.
- func HandleDummy(_ context.Context, enc *json.Encoder,
- msgID uuid.UUID, sentTime time.Time, msg []byte, meta map[string]types.MessageAttributeValue) error {
- type EventBody struct {
- EventID uuid.UUID `json:"event_id"`
- EventTime time.Time `json:"event_time"`
- Data map[string]int `json:"data,omitempty"`
- Meta map[string]types.MessageAttributeValue
- }
- evt := EventBody{
- EventID: msgID,
- EventTime: sentTime,
- Meta: meta,
- }
- if err := json.Unmarshal(msg, &evt.Data); err != nil {
- return fmt.Errorf("error parsing body as JSON: %w", err)
- }
- enc.Encode(evt)
- return nil
- }
|