From 37962216ede4468c54744160536d9f8a109933ee Mon Sep 17 00:00:00 2001 From: William Date: Tue, 12 Sep 2017 05:56:43 -0400 Subject: [PATCH] get s3 url via aws-sdk-go, fix #9189 --- pkg/components/imguploader/s3uploader.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkg/components/imguploader/s3uploader.go b/pkg/components/imguploader/s3uploader.go index 302420a27f4..5122adfcc6d 100644 --- a/pkg/components/imguploader/s3uploader.go +++ b/pkg/components/imguploader/s3uploader.go @@ -8,6 +8,7 @@ import ( "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds" "github.com/aws/aws-sdk-go/aws/ec2metadata" + "github.com/aws/aws-sdk-go/aws/endpoints" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/s3" "github.com/grafana/grafana/pkg/log" @@ -53,8 +54,10 @@ func (u *S3Uploader) Upload(imageDiskPath string) (string, error) { Credentials: creds, } + s3_endpoint, _ := endpoints.DefaultResolver().EndpointFor("s3", u.region) key := util.GetRandomString(20) + ".png" - log.Debug("Uploading image to s3", "bucket = ", u.bucket, ", key = ", key) + image_url := s3_endpoint.URL + "/" + u.bucket + "/" + key + log.Debug("Uploading image to s3", "url = ", image_url) file, err := os.Open(imageDiskPath) if err != nil { @@ -77,10 +80,5 @@ func (u *S3Uploader) Upload(imageDiskPath string) (string, error) { if err != nil { return "", err } - - if u.region == "us-east-1" { - return "https://" + u.bucket + ".s3.amazonaws.com/" + key, nil - } else { - return "https://" + u.bucket + ".s3-" + u.region + ".amazonaws.com/" + key, nil - } + return image_url, nil }