AWS S3 createPresignedPost 与 getSignedUrl。我应该使用哪一个从客户端上传各种文件?

AWS S3 createPresignedPost vs getSignedUrl. Which one should I use for uploading various files from client side?

在S3文件中,有createPresignedPost and getSignedUrl.

在 getSignedUrl 上:

Note: Not all operation parameters are supported when using pre-signed URLs. Certain parameters, such as SSECustomerKey, ACL, Expires, ContentLength, or Tagging must be provided as headers when sending a request. If you are using pre-signed URLs to upload from a browser and need to use these fields, see createPresignedPost().

createPresignedPost 只是更可定制的 getSignedUrl 版本吗? 它在下面做同样的事情吗?

如果你想限制用户上传超过一定大小的文件,你应该使用createPresigendPost,并指定ContentLength

使用 getSignedUrl,没有对象大小限制,用户可以将 5TB 对象(当前对象限制)上传到 s3


注意调用getSignedUrl('putObject',params, callback)时如果可以在params中指定ContentLength 你会被抛出

Presigning post data encountered an error { UnexpectedParameter: ContentLength is not supported in pre-signed URLs.

关于这个主题issue