|
|
|
@ -9,6 +9,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" |
|
|
|
@ -54,8 +55,10 @@ func (u *S3Uploader) Upload(ctx context.Context, imageDiskPath string) (string, |
|
|
|
|
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 { |
|
|
|
@ -78,10 +81,5 @@ func (u *S3Uploader) Upload(ctx context.Context, imageDiskPath string) (string, |
|
|
|
|
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 |
|
|
|
|
} |
|
|
|
|