func DownloadFromS3()

in util/common/agent_util_unix.go [245:270]


func DownloadFromS3(bucket string, key string, destPath string) error {
	sess := session.Must(session.NewSession())
	s3Client := s3.New(sess)

	result, err := s3Client.GetObject(&s3.GetObjectInput{
		Bucket: aws.String(bucket),
		Key:    aws.String(key),
	})
	if err != nil {
		return fmt.Errorf("failed to download from S3 bucket %s, key %s: %v", bucket, key, err)
	}
	defer result.Body.Close()

	outFile, err := os.Create(destPath)
	if err != nil {
		return fmt.Errorf("failed to create file at %s: %v", destPath, err)
	}
	defer outFile.Close()

	_, err = io.Copy(outFile, result.Body)
	if err != nil {
		return fmt.Errorf("failed to copy content to %s: %v", destPath, err)
	}

	return nil
}