in scripts/go/curconvert/curconvert.go [359:389]
func (c *CurConvert) DownloadCur(curObject string) (string, error) {
// define localfile name
localFile := c.tempDir + "/" + curObject[strings.LastIndex(curObject, "/")+1:]
// create localfile
file, err := os.Create(localFile)
if err != nil {
return "", err
}
defer file.Close()
// init S3 manager
s3dl, err := c.initS3Downloader(c.sourceBucket, c.sourceArn, c.sourceExternalID)
if err != nil {
return "", err
}
// download S3 object to file
_, err = s3dl.Download(file,
&s3.GetObjectInput{
Bucket: aws.String(c.sourceBucket),
Key: aws.String(curObject),
})
if err != nil {
return "", fmt.Errorf("failed to download CUR object, bucket: %s, object: %s, error: %s", c.sourceBucket, curObject, err.Error())
}
return localFile, nil
}