AWS S3国内与国外的区别
S3云存储国际版目前正被某墙,国内部分地区只能下载不能上传,所以建议S3使用国内AWS的。
国内S3与国外S3在编程时注意以下几点:
1)URL不通用
国际版的S3可以使用不带Region的URL,例如:http://{bucket}.s3.amazonaws.com/
国内版必须指定Region并且使用专用的国内域名:http://{bucket}.s3.cn-north-1.amazonaws.com.cn/
2)签名加密方式不一致
国际版的S3可使用sha1,国内版本的S3需要使用sha256。参考:http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/API/sig-v4-authenticating-requests.html
3)国内S3的HTTP和HTTPS访问需要申请开通
与国外S3即开即用不同,由于政策原因,国内S3在开通后,不能立即从外网访问其域名,必须通过AWS国内的业务人员申请开通80和443端口。但AWS CLI访问不受影响。
4)国内S3的Bucket名字可与国际版S3重名
由于国内S3与国际版S3完全独立,所以国内S3的bucket名字可以与国际版S3重复。并且无法使用CLI中s3 sync直接同步国际版s3的bucket数据到国内S3的bucket。(建议用sync把国际版bucket同步到本地目录再sync到国内bucket)
以上仅供参考。