douli1872 2017-01-02 23:15
浏览 134
已采纳

带有AWS S3和goamz的Golang中不受支持的协议方案“”

Trying to upload file bytes to S3 AWS, using the goamz/s3 package in Go (lang).

My code is:

var (
    awsAuth aws.Auth
    region aws.Region
    connection s3.S3
    bucket *s3.Bucket
)
func init() {

    // Set up the AWS S3 Connection config.
    awsAuth = aws.Auth{
        AccessKey: os.Getenv("ACCESS_KEY"), // change this to yours
        SecretKey: os.Getenv("SECRET_KEY"),
    }
    fmt.Println("AWS: ", awsAuth)
    region := aws.EUWest    
    connection := s3.New(awsAuth, region)

    bucket = connection.Bucket(os.Getenv("S3_BUCKET")) // change this your bucket name
}
func uploadToS3(filename string, byteArray *[]byte) error {

    var err error
    //should check if file already uploaded, encrypted by this password
    fmt.Printf("[uploadToS3] starting upload of %s
", filename)

    err = bucket.Put(filename, *byteArray, "text/plain; charset=utf-8", s3.PublicRead)
    if err != nil {
        fmt.Printf("[uploadToS3] error uploading: %s
", err)
        return err
    } else {
        fmt.Printf("[uploadToS3] done uploading %s
", filename)    
        return nil
    }

    return nil // redundancy
}

I get the error

[uploadToS3] error uploading: Put /filename: unsupported protocol scheme ""

Reading from here: unsupported protocol scheme while creating ec2 Security group it reckons that its because the region is incorrect, however as you can see I am setting that in the init() function so I don't know what else it could be

Any thoughts greatly appreciated

  • 写回答

1条回答 默认 最新

  • doudg60800 2017-01-03 11:29
    关注

    To anyone who might have the same issue. It is an error you get when the bucket name is not set. Seems stupid, but I was running this inside docker, and had forgot to tell docker what the enviroment variable was that held the bucket name. Therefore when I did echo $S3_BUCKET on my terminal, I got the bucket name, and therefore thought all was good. However I didn't test that inside the docker container. Fool on me.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀