func PersistData()

in services/kinesis-consumer/services/persistence/store_items.go [31:65]


func PersistData(ddb dynamodb.DynamoDB, tablename string, msg model.Message) (string, error) {
	uuid, err := uuid.NewV4()

	if err != nil {
		fmt.Printf("Failed creating UUID %s", err)
	} else {
		fmt.Printf("Created UUID %s", uuid)
	}

	timestamp := time.Now().Format(time.StampMicro)

	msg.ID = uuid.String()
	msg.UpdatedAt = timestamp

	av, err := dynamodbattribute.MarshalMap(msg)

	if err != nil {
		fmt.Println("Got error marshalling map:")
		fmt.Println(err.Error())
	}

	input := &dynamodb.PutItemInput{
		Item:      av,
		TableName: aws.String(tablename),
	}

	_, err = ddb.PutItem(input)

	if err != nil {
		fmt.Println("Got error calling PutItem:")
		fmt.Println(err.Error())
	}

	return msg.ID, err
}