Skip to content
Snippets Groups Projects
Commit ed571691 authored by Johan de Klerk's avatar Johan de Klerk
Browse files

S3: Set expiry duration

parent 75d7999f
No related branches found
No related tags found
No related merge requests found
......@@ -249,14 +249,14 @@ func (s SessionWithHelpers) GetObjectMetadata(bucket string, fileName string, is
}
// MoveObjectBucketToBucket - Move object from one S3 bucket to another
func (s SessionWithHelpers) MoveObjectBucketToBucket(sourceBucket string, destinationBucket string, sourceFileName string, destinationFileName string, isDebug bool) error {
func (s SessionWithHelpers) MoveObjectBucketToBucket(sourceBucket string, destinationBucket string, sourceFileName string, destinationFileName string, settings S3UploadSettings) error {
err := s.CopyObjectBucketToBucket(sourceBucket, destinationBucket, sourceFileName, destinationFileName, isDebug)
err := s.CopyObjectBucketToBucket(sourceBucket, destinationBucket, sourceFileName, destinationFileName, settings)
if err != nil {
return err
}
err = s.DeleteObjectFromBucket(sourceBucket, sourceFileName, isDebug)
err = s.DeleteObjectFromBucket(sourceBucket, sourceFileName)
if err != nil {
return err
}
......@@ -265,7 +265,7 @@ func (s SessionWithHelpers) MoveObjectBucketToBucket(sourceBucket string, destin
}
// CopyObjectBucketToBucket - Copy an object from one S3 bucket to another
func (s SessionWithHelpers) CopyObjectBucketToBucket(sourceBucket string, destinationBucket string, sourceFileName string, destinationFilename string, isDebug bool) error {
func (s SessionWithHelpers) CopyObjectBucketToBucket(sourceBucket string, destinationBucket string, sourceFileName string, destinationFilename string, settings S3UploadSettings) error {
// copy the file
copySource := url.QueryEscape(sourceBucket + "/" + sourceFileName)
copyObjectInput := &s3.CopyObjectInput{
......@@ -273,6 +273,12 @@ func (s SessionWithHelpers) CopyObjectBucketToBucket(sourceBucket string, destin
CopySource: aws.String(copySource), // source path (ie: myBucket/myFile.csv)
Key: aws.String(destinationFilename), // filename on destination
}
if settings.ExpiryDuration != nil {
expiry := time.Now().Add(*settings.ExpiryDuration)
copyObjectInput.Expires = &expiry
}
_, err := s.S3Session.CopyObject(copyObjectInput)
if err != nil {
return err
......@@ -288,7 +294,7 @@ func (s SessionWithHelpers) CopyObjectBucketToBucket(sourceBucket string, destin
}
// DeleteObjectFromBucket - Delete an object from an S3 bucket
func (s SessionWithHelpers) DeleteObjectFromBucket(bucket string, fileName string, isDebug bool) error {
func (s SessionWithHelpers) DeleteObjectFromBucket(bucket string, fileName string) error {
// delete the file
deleteObjectInput := &s3.DeleteObjectInput{
Bucket: aws.String(bucket),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment