目的是为了要上传大一些的文件,如果中间网络出现问题,后面可以有断点续传类似的功能。
S3基础和网页版使用
控制台
https://s3.console.aws.amazon.com/
教程(就是普通的上传下载文件,百度云?)
https://docs.aws.amazon.com/AmazonS3/latest/gsg/SigningUpforS3.html
价格
https://aws.amazon.com/cn/s3/pricing/
aws 的 sdk
dev文档
https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html
aws sdk 的region 和 access key 的设置
获得key的网址:
https://console.aws.amazon.com/iam/home
步骤和使用:
https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html
https://docs.aws.amazon.com/sdk-for-go/api/service/s3/
例子
文档中的例子,解释详细:
https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/s3-example-basic-bucket-operations.html
github上例子,更全一些:
https://github.com/aws/aws-sdk-go/blob/master/service/s3/examples_test.go
大文件上传
multipart
multipart 的基本概念和限制:
https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html (REST API)
https://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html
multipart(REST API):
https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html
非官方mulitpart上传的例子
https://github.com/apoorvam/aws-s3-multipart-upload/blob/master/aws-multipart-upload.go
我的:
https://github.com/harryhare/big_file_upload
stream ?
在有内存限制时使用stream 的方式的疑问
看下面的页面,这个问题似乎并没有答案
https://stackoverflow.com/questions/34177137/stream-file-upload-to-aws-s3-using-go
我们的项目中的代码是用amazon的REST api 做的?大概原理是这个:
https://docs.aws.amazon.com/AmazonS3/latest/dev/PresignedUrlUploadObject.html
前端直接上传S3
https://aws.amazon.com/cn/blogs/china/s3-multipul-upload-practice/
API错误处理
https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html