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

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)

以上仅供参考。

参考:http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/API/sig-v4-authenticating-requests.html

时间: 2024-11-10 11:31:05

AWS S3国内与国外的区别的相关文章

AWS s3 python sdk code examples

Yet another easy-to-understand, easy-to-use aws s3 python sdk code examples. github地址:https://github.com/garyelephant/aws-s3-python-sdk-examples. """ Yet another s3 python sdk example. based on boto 2.27.0 """ import time imp

用Node完成AWS S3的Upload流程之全世界最简版

开场: 查了两天文档,Error了38次,最后索性去掉所有附加条件, 连界面也不要了,在命令行里跑通了一坨最干瘪的Upload流程! 还冒着热气…… 在此先做记录,明天可以搭配美美的界面继续调试了. 近来压抑的心情顿时舒畅了百分之十. 1. 注册以及相关配置: 注册一枚Amazon账户,如果你经常在Amazon上买买买, 那你其实已经有了Amazon的Retail账户,可以直接登录为AWS账户, 但要变身为这么高大上的账户,不出血怎么可能? 在这过程中,需要花费1美元的认证费用…… 我把信用卡的

VPN国内与国外网站转发至不同的DNS服务器解析,国内IP不经VPN

.title { text-align: center; margin-bottom: .2em } .subtitle { text-align: center; font-size: medium; font-weight: bold; margin-top: 0 } .todo { font-family: monospace; color: red } .done { font-family: monospace; color: green } .priority { font-fami

AWS S3 CLI的权限bug

使用AWS CLI在S3上创建了一个bucket,上传文件的时候报以下错误: A client error (AccessDenied) occurred when calling the CreateMultipartUpload operation: Anonymous users cannot initiate multipart uploads. Please authenticate. 执行命令:aws s3 ls s3://mybucket-1 同样提示权限错误. 之前使用AWS C

AWS S3使用小结

使用场景一:储存网站的图片,并能被任何人访问 1. 创建一个bucket,名字与需要绑定的域名一致. 例如,根域名是mysite.com,希望把所有图片放在pic.mysite.com下面,访问的时候用pic.mysite.com/a.jpg就能直接访问,那么这个bucket的名字就应该设置成pic.mysite.com 这时候就能在控制台上传文件了,当然做实际应用的话需要用他的SDK写程序来实现上传功能. 我们上传一个a.jpg,右边Properties里面给出了一个link "https:/

Python使用boto3操作AWS S3中踩过的坑

最近在AWS上开发部署应用. 看了这篇关于AWS中国区填坑的文章,结合自己使用AWS的经历,补充两个我自己填的坑. http://www.jianshu.com/p/0d0fd39a40c9?utm_source=tuicool&utm_medium=referral 1. V4 签名认证 官方文档中给出的例子: import boto3 s3 = boto3.resource('s3') s3.meta.client.upload_file('/tmp/hello.txt', 'mybucke

AWS S3 API实现文件上传下载

近日项目需要使用AWS S3的API实现文件的上传和下载功能,才发现网上关于.net实现该功能的文章不多,有几篇也都是很老版本的AWS的使用描述了,写法和封装的类等等都基本上报废了.虽然这样,但还是很感谢那几篇文章给我指点了方向.下面我就把实现API的方法提供给大家: 注:此API实现方法是基于AWSSDK.2.3.50.1版本实现的. 1.首先必须拥有 Amazon Web Services 账户才能访问此服务,目前有一定流量的适用,当流量超过之后会自动收费 2.根据提供的Access Key

【原创】aws s3 lambda缩略图生成

参考资料: https://github.com/sagidm/s3-resizer https://aws.amazon.com/cn/blogs/compute/resize-images-on-the-fly-with-amazon-s3-aws-lambda-and-amazon-api-gateway/ https://medium.com/swlh/how-to-get-started-with-aws-lambda-9f2ac14d863a https://www.obytes.c

aws s3 上传 binary 数据 (通过stringstream)

有个需求需要将二进制istream上传到s3上暂存,但苦于没能直接找到接口,官方提供的设置数据块的接口如下: inline void SetBody(const std::shared_ptr<Aws::IOStream>& body) { m_bodyStream = body; } 这个Aws::IOStream其实就是std::iostream的封装. 在实际寻找传入参数的时候没找到比较好的传入对象:fstream意味着我需要先将数据存到磁盘再去读取,感觉不是很好:而string