1

署名済みの URL を使用してファイルを S3 にアップロードしようとしていますが、数分前までは可能だと信じていました (この問題に関するドキュメントがあります) が、S3 開発者ガイドで次のフレーズに遭遇しました。

Query string authentication is not supported for POST 

何が欠けているのですか。ちなみに、goamz (AWS 用の非公式の golang SDK) を使用しようとしていますが、署名エラーが発生し続けています。

編集:これまでのところ署名を理解したので、GET、POST、PUTのURLに署名できます(Amazonの部分でサポートされている場合、DELETEまたはPATCHも同様に機能する可能性があります)、今私の問題PUT 後にサイズがゼロのオブジェクトを取得することです)、動作させるときにコードをここに投稿します。

EDIT2:@Basssethogが以下で述べたように、この問題は公式のgo-SDKで解決されました

4

3 に答える 3

1

現在、この問題は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

于 2016-10-03T15:22:19.210 に答える