公式のGolang AWS SDKを使用してS3にファイルをアップロードしようとしているところに問題があります。AWS S3 Golang SDK - ファイルをアップロード中 - 間違った領域
北カリフォルニア地域(us-west-1)に指定されたバケットをターゲットにしています。私はS3の探検家でそれを見ることができます。私はput操作を実行したときしかし、私は次のエラーを取得する:
BucketRegionError: incorrect region, the bucket is not in 'Northern California' region
は、これは私が私の接続を設定しています方法です:
creds := credentials.NewStaticCredentials(aws_access_key_id, aws_secret_access_key, token)
_,err := creds.Get()
config := &aws.Config{
Region :aws.String("us-west-1"),
Endpoint :aws.String("s3.amazonaws.com"),
S3ForcePathStyle:aws.Bool(true),
Credentials :creds,
//LogLevel :0,
}
s3_client := s3.New(session.New(config))
params := &s3.PutObjectInput{
Bucket :aws.String(p_bucket_name_str),
Key :aws.String(p_target_file__s3_path_str),
ACL :aws.String("public-read"),
Body :file_bytes,
ContentLength:aws.Int64(size),
ContentType :aws.String(file_type),
Metadata :map[string]*string{
"Key":aws.String("MetadataValue"),
},
}
result,err := p_s3_client.PutObject(params)
任意の提案や修正が大きな助けになり、ありがとうございました。
バケツが私たちのウェスト-1にあるのは本当ですか? – 0x434D53
バケツのAWS Webツールダッシュボードでは、私に北カリフォルニアを教えています...私はAmazonsテーブルをチェックし、North Californiaマップは私たち - 西-1にマップしました。それはウェブブラウザ経由でバケットファイルにアクセスする際のURLパターンの領域です... – deepblue
私はus-west-1、us-west-2、us-east-1領域を試しましたが、 "BucketRegionError:バケツが「us-west-1」地域にありません(地域はus-west-1/us-west-2/us-east-1) – deepblue