in s3plugin/restore.go [30:55]
func RestoreFile(c *cli.Context) error {
config, sess, err := readConfigAndStartSession(c)
if err != nil {
return err
}
fileName := c.Args().Get(1)
bucket := config.Options.Bucket
fileKey := GetS3Path(config.Options.Folder, fileName)
file, err := os.Create(fileName)
defer file.Close()
if err != nil {
return err
}
bytes, elapsed, err := downloadFile(sess, config, bucket, fileKey, file)
if err != nil {
fileErr := os.Remove(fileName)
if fileErr != nil {
gplog.Error(fileErr.Error())
}
return err
}
gplog.Info("Downloaded %d bytes for %s in %v", bytes,
filepath.Base(fileKey), elapsed.Round(time.Millisecond))
return err
}