Merge pull request #3181 from pimuzzo/s3-transfer-accelerate
Add new parameter accelerate to S3 storage driver.master
						commit
						cd51f38d53
					
				|  | @ -118,6 +118,7 @@ storage: | |||
|     secretkey: awssecretkey | ||||
|     region: us-west-1 | ||||
|     regionendpoint: http://myobjects.local | ||||
|     accelerate: false | ||||
|     bucket: bucketname | ||||
|     encrypt: true | ||||
|     keyid: mykeyid | ||||
|  | @ -422,6 +423,7 @@ storage: | |||
|     secretkey: awssecretkey | ||||
|     region: us-west-1 | ||||
|     regionendpoint: http://myobjects.local | ||||
|     accelerate: false | ||||
|     bucket: bucketname | ||||
|     encrypt: true | ||||
|     keyid: mykeyid | ||||
|  |  | |||
|  | @ -104,6 +104,7 @@ type DriverParameters struct { | |||
| 	ObjectACL                   string | ||||
| 	SessionToken                string | ||||
| 	UseDualStack                bool | ||||
| 	Accelerate                  bool | ||||
| } | ||||
| 
 | ||||
| func init() { | ||||
|  | @ -377,6 +378,23 @@ func FromParameters(parameters map[string]interface{}) (*Driver, error) { | |||
| 
 | ||||
| 	sessionToken := "" | ||||
| 
 | ||||
| 	accelerateBool := false | ||||
| 	accelerate := parameters["accelerate"] | ||||
| 	switch accelerate := accelerate.(type) { | ||||
| 	case string: | ||||
| 		b, err := strconv.ParseBool(accelerate) | ||||
| 		if err != nil { | ||||
| 			return nil, fmt.Errorf("the accelerate parameter should be a boolean") | ||||
| 		} | ||||
| 		accelerateBool = b | ||||
| 	case bool: | ||||
| 		accelerateBool = accelerate | ||||
| 	case nil: | ||||
| 		// do nothing
 | ||||
| 	default: | ||||
| 		return nil, fmt.Errorf("the accelerate parameter should be a boolean") | ||||
| 	} | ||||
| 
 | ||||
| 	params := DriverParameters{ | ||||
| 		fmt.Sprint(accessKey), | ||||
| 		fmt.Sprint(secretKey), | ||||
|  | @ -399,6 +417,7 @@ func FromParameters(parameters map[string]interface{}) (*Driver, error) { | |||
| 		objectACL, | ||||
| 		fmt.Sprint(sessionToken), | ||||
| 		useDualStackBool, | ||||
| 		accelerateBool, | ||||
| 	} | ||||
| 
 | ||||
| 	return New(params) | ||||
|  | @ -458,6 +477,7 @@ func New(params DriverParameters) (*Driver, error) { | |||
| 		awsConfig.WithEndpoint(params.RegionEndpoint) | ||||
| 	} | ||||
| 
 | ||||
| 	awsConfig.WithS3UseAccelerate(params.Accelerate) | ||||
| 	awsConfig.WithRegion(params.Region) | ||||
| 	awsConfig.WithDisableSSL(!params.Secure) | ||||
| 	if params.UseDualStack { | ||||
|  |  | |||
|  | @ -44,6 +44,7 @@ func init() { | |||
| 	sessionToken := os.Getenv("AWS_SESSION_TOKEN") | ||||
| 	useDualStack := os.Getenv("S3_USE_DUALSTACK") | ||||
| 	combineSmallPart := os.Getenv("MULTIPART_COMBINE_SMALL_PART") | ||||
| 	accelerate := os.Getenv("S3_ACCELERATE") | ||||
| 	if err != nil { | ||||
| 		panic(err) | ||||
| 	} | ||||
|  | @ -86,6 +87,7 @@ func init() { | |||
| 		if useDualStack != "" { | ||||
| 			useDualStackBool, err = strconv.ParseBool(useDualStack) | ||||
| 		} | ||||
| 
 | ||||
| 		multipartCombineSmallPart := true | ||||
| 		if combineSmallPart != "" { | ||||
| 			multipartCombineSmallPart, err = strconv.ParseBool(combineSmallPart) | ||||
|  | @ -94,6 +96,14 @@ func init() { | |||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		accelerateBool := true | ||||
| 		if accelerate != "" { | ||||
| 			accelerateBool, err = strconv.ParseBool(accelerate) | ||||
| 			if err != nil { | ||||
| 				return nil, err | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		parameters := DriverParameters{ | ||||
| 			accessKey, | ||||
| 			secretKey, | ||||
|  | @ -116,6 +126,7 @@ func init() { | |||
| 			objectACL, | ||||
| 			sessionToken, | ||||
| 			useDualStackBool, | ||||
| 			accelerateBool, | ||||
| 		} | ||||
| 
 | ||||
| 		return New(parameters) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue