S3
Amazon Simple Storage Service (Amazon S3) 是一种面向 Internet 的存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。您可以使用 AWS 管理控制台简单而直观的 web 界面来完成这些任务。
- 价格
- 存储定价 (因区域而不同)
- 请求定价
- Amazon S3 存储管理定价
- 数据传输定价
- Amazon S3 Transfer Acceleration 定价
https://aws.amazon.com/cn/s3/pricing/
http://calculator.s3.amazonaws.com/index.html?lng=zh_CN#
http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/API/Welcome.html
- 存储类型:
https://aws.amazon.com/cn/s3/storage-classes/
通用 Amazon S3 Standard
针对频繁访问数据,Amazon S3 Standard 提供较高的持久性、可用性和性能对象存储。由于它带来较低的延迟和较高的吞吐量,Standard 非常适合各种用例,包括云应用程序、动态网站、内容分配、移动和游戏应用程序,以及大数据分析。生命周期管理提供可配置的政策,可将对象自动迁移到最合适的存储类别。Amazon S3 Standard – Infrequent Access
Amazon S3 Standard – Infrequent Access (Standard – IA) 是 Amazon S3 存储类别,用于不频繁访问但在需要时也要求快速访问的数据。Standard – IA 提供较高的持久性、吞吐量和较低的 Amazon S3 Standard 延迟,并且每 GB 的存储价格和检索费用都较低。成本较低且性能出色使得 Standard – IA 成为长期存储和备份的理想选择,也非常适用于灾难恢复的数据存储。Standard – IA 存储类别被设置在对象级别,并可在相同的存储桶中作为 Standard 数据存在,从而让您可以使用生命周期政策在存储类别间自动转移对象,无需更改任何应用程序。存档 Amazon Glacier
Amazon Glacier 是一种安全、持久且成本极低的存储服务,适用于数据存档。您可以放心存储任何量的数据 – 成本与本地解决方案相当,甚至更低。为了保持成本低廉,同时满足各种数据取回需求,Amazon Glacier 提供三种访问存档的选项,各自的取回时间从数分钟到数小时不等。
Amazon S3 主要概念
- 存储桶
存储桶是 Amazon S3 中用于存储对象的容器。每个对象都储存在一个存储桶中。例如,如果名为 photos/puppy.jpg 的对象存储在 johnsmith 存储桶中,则可使用 URL http://johnsmith.s3.amazonaws.com/photos/puppy.jpg 对该对象进行寻址.
在存储桶中存储无限量的数据,每个对象可包含最多 5 TB 的数据
- 键
密钥是指存储桶中对象的唯一标识符。存储桶内的每个对象都只能有一个密钥。
在URL http://doc.s3.amazonaws.com/2006-03-01/AmazonS3.wsdl 中,“doc”是存储桶的名称,而“2006-03-01/AmazonS3.wsdl”是密钥。
- 区域
在某一区域存储的对象将一直留在该区域,除非您特意将其传输到另一区域。
对象操作
使用分段上传 API 上传对象
DOC使用 适用于 .NET 的 AWS 开发工具包 上传单个对象
DOC使用预签名 URL 上传对象
DOC使用 适用于 .NET 的 AWS 开发工具包 获取对象
DOC
Develope
- Configuring Your AWS SDK for .NET Application
<configuration>
<appSettings>
<add key="AWSRegion" value="ap-northeast-1"/>
<add key="AWSLogging" value="log4net"/>
<add key="AWSProfilesLocation" value="E:\credentials" />
</appSettings>
</configuration>
E:\credentials
记录的就是 一个IAM 用户的 安全证书
里面记录这 访问密钥ID和key
[default]
aws_access_key_id=your id
aws_secret_access_key=your key
使用 ACL 管理访问
PutObjectRequest putRequest2 = new PutObjectRequest
{
BucketName = bucketName,
Key = keyName,
FilePath = filePath,
CannedACL = S3CannedACL.PublicRead
};
上传的文件可以直接用外部RUL访问到了。
传输加速 Amazon S3 Transfer Acceleration
Amazon S3 Transfer Acceleration 可在客户与 S3 存储桶之间实现快速、轻松、安全的远距离文件传输。传输加速 利用 Amazon CloudFront 的全球分布式边缘站点。当数据到达某个边缘站点时,会被经过优化的网络路径路由至 Amazon S3。
在使用 传输加速 时,可能会收取额外的数据传输费
使用加密保护数据
使用服务器端加密
使用客户端加密