Go (lang) で goamz/s3 パッケージを使用して、ファイル バイトを S3 AWS にアップロードしようとしています。
私のコードは次のとおりです。
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\n", filename)
err = bucket.Put(filename, *byteArray, "text/plain; charset=utf-8", s3.PublicRead)
if err != nil {
fmt.Printf("[uploadToS3] error uploading: %s\n", err)
return err
} else {
fmt.Printf("[uploadToS3] done uploading %s\n", filename)
return nil
}
return nil // redundancy
}
エラーが発生します
[uploadToS3] error uploading: Put /filename: unsupported protocol scheme ""
ここから読む:ec2セキュリティグループの作成中にサポートされていないプロトコルスキームが原因であると考えられますが、ご覧のとおり、init()関数で設定しているため、他に何ができるかわかりません
どんな考えでも大歓迎です