github.com/mweagle/Sparta@v1.15.0/aws/s3/doc.go (about)

     1  /*
     2  Package s3 provides types to support unmarshalling generic `event *json.RawMessage` types into
     3  S3 specific event structures.  Sparta-based S3 event listeners can unmarshall the RawMesssage
     4  into source-specific data.  Example:
     5  
     6      func s3EventListener(event *json.RawMessage,
     7                            context *sparta.LambdaContext,
     8                            w http.ResponseWriter,
     9                            logger *logrus.Logger) {
    10        var lambdaEvent spartaS3.Event
    11        err := json.Unmarshal([]byte(*event), &lambdaEvent)
    12        if err != nil {
    13          logger.Error("Failed to unmarshal event data: ", err.Error())
    14          http.Error(w, err.Error(), http.StatusInternalServerError)
    15        }
    16        for _, eachRecord := range lambdaEvent.Records {
    17          switch eachRecord.EventName {
    18            case "ObjectCreated:Put": {...}
    19            default : {...}
    20          }
    21        }
    22      }
    23  */
    24  package s3