aws-sdk-goでs3にファイルをuploadする

package main

import (
    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/credentials"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/s3/s3manager"
    "os"
)

func main() {
    path := "hogeho"
    file, err := os.Open(path)
    if err != nil {
        os.Exit(1)
    }
         // ~/.aws/credentialsを使用する場合は別の方法で、このパターンはコード上でID/SECRETを指定するケース
    cred := credentials.NewStaticCredentials("ID", "SECRET", "")

    conf := aws.Config{Credentials: cred, Region: aws.String("REGION")}
    sess, err := session.NewSession(&conf)
    if err != nil {
        os.Exit(1)
    }
    svc := s3manager.NewUploader(sess)
    result, err := svc.Upload(&s3manager.UploadInput{
        Bucket: aws.String("BACKET"),
        Key:    aws.String("PATH"),
        Body:   file,
    })
    if err != nil {
        os.Exit(1)
    }
}