Sparta: github.com/mweagle/Sparta/aws/s3 Index | Files

package s3

import "github.com/mweagle/Sparta/aws/s3"

Package s3 provides types to support unmarshalling generic `event *json.RawMessage` types into S3 specific event structures. Sparta-based S3 event listeners can unmarshall the RawMesssage into source-specific data. Example:

func s3EventListener(event *json.RawMessage,
                      context *sparta.LambdaContext,
                      w http.ResponseWriter,
                      logger *logrus.Logger) {
  var lambdaEvent spartaS3.Event
  err := json.Unmarshal([]byte(*event), &lambdaEvent)
  if err != nil {
    logger.Error("Failed to unmarshal event data: ", err.Error())
    http.Error(w, err.Error(), http.StatusInternalServerError)
  }
  for _, eachRecord := range lambdaEvent.Records {
    switch eachRecord.EventName {
      case "ObjectCreated:Put": {...}
      default : {...}
    }
  }
}

Index

Package Files

doc.go util.go

func BucketRegion Uses

func BucketRegion(awsSession *session.Session,
    S3Bucket string,
    logger *logrus.Logger) (string, error)

BucketRegion returns the AWS region that hosts the bucket

func BucketVersioningEnabled Uses

func BucketVersioningEnabled(awsSession *session.Session,
    S3Bucket string,
    logger *logrus.Logger) (bool, error)

BucketVersioningEnabled determines if a given S3 bucket has object versioning enabled.

func UploadLocalFileToS3 Uses

func UploadLocalFileToS3(localPath string,
    awsSession *session.Session,
    S3Bucket string,
    S3KeyName string,
    logger *logrus.Logger) (string, error)

UploadLocalFileToS3 takes a local path and uploads the content at localPath to the given S3Bucket and KeyPrefix. The final S3 keyname is the S3KeyPrefix+ the basename of the localPath.

type RollbackFunction Uses

type RollbackFunction func(logger *logrus.Logger) error

RollbackFunction called in the event of a stack provisioning failure

func CreateS3RollbackFunc Uses

func CreateS3RollbackFunc(awsSession *session.Session, s3ArtifactURL string) RollbackFunction

CreateS3RollbackFunc creates an S3 rollback function that attempts to delete a previously uploaded item. Note that s3ArtifactURL may include a `versionId` query arg to denote the specific version to delete.

Package s3 imports 13 packages (graph) and is imported by 2 packages. Updated 2018-10-16. Refresh now. Tools for package owners.