我正在尝试使用经过预处理的urls将文件上传到S3,直到几分钟前我还认为这是可能的(有关于这个问题的文档),但是我在S3开发人员指南中遇到了这个短语:
Query string authentication is not supported for POST 我遗漏了什么,顺便说一句,我试图使用goamz (AWS的非官方的golang )来做到这一点,并且我不断地得到签名错误。
编辑:到目前为止,我已经知道了签名,这样我就可以对GET、POST、PUT的URL进行签名(我还没有尝试删除或修补它们,如果在amazon部分上支持它们),现在我的问题是我在输入后得到了零大小的对象),我会在这里发布代码。
EDIT2:正如下面@Basssethog所提到的,这个问题现在已经在官方的go中解决了。
发布于 2014-01-29 17:23:02
发布于 2013-11-10 11:25:14
我知道它支持PUT、GET和DELETE请求,但是签名变得有点棘手。我知道在正式的PHP和Ruby中都有支持,可能还有其他官方的SDK。
您可能可以将实现移植到Go。
发布于 2016-10-03 15:22:19
到目前为止,aws-sdk-go SDK中似乎已经解决了这个问题:
svc := s3.New(nil)
req, _ := svc.PutObjectRequest(&s3.PutObjectInput{
Bucket: aws.String("myBucket"),
Key: aws.String("myKey"),
Body: strings.NewReader("EXPECTED CONTENTS"),
})
str, err := req.Presign(15 * time.Minute)
log.Println("The URL is:", str, " err:", err)资料来源:http://zqsmm.qiniucdn.com/data/20150717110412/index.html
https://stackoverflow.com/questions/19816862
复制相似问题