AWS S3存储服务SDK

本文详细介绍了Amazon Simple Storage Service(S3)的基础知识,包括存储桶、对象、键、版本ID和区域的概念。重点讲解了如何通过AWS S3 SDK进行对象的上传、下载、列出、删除以及开启版本控制等操作。文章提供了JAVA SDK的依赖引入方法,并给出了具体的代码示例。
摘要由CSDN通过智能技术生成

0x0 前言

Amazon Simple Storage Service 是互联网存储解决方案。该服务旨在降低开发人员进行网络规模级计算的难度。

Amazon S3 提供了一个简单 Web 服务接口,可用于随时在 Web 上的任何位置存储和检索任何数量的数据。此服务让所有开发人员都能访问同一个具备高扩展性、可靠性、安全性和快速价廉的数据存储基础设施, Amazon 用它来运行其全球的网站网络。此服务旨在为开发人员带来最大化的规模效益。

0x1 名词介绍

0x1_1 存储桶(Bucket)

存储桶是 Amazon S3 中用于存储对象的容器。每个对象都储存在一个存储桶中。

0x1_2 对象(Object)

对象是 Amazon S3 中存储的基本实体。对象由对象数据和元数据组成。在存储桶中,对象将由键 (名称) 和版本 ID 进行唯一地标识。注:版本ID 非必须,需要再存储桶中配置启用版本控制

0x1_3 键(Key)

键是指存储桶中对象的唯一标识符。存储桶内的每个对象都只能有一个键。由于将存储桶、键和版本 ID 组合在一起可唯一地标识每个对象,可将 Amazon S3 视为一种“存储桶 + 键 + 版本”与对象本身间的基本数据映射。

0x1_4 版本ID(VersionId)

通过VersionId,可以在一个存储桶中保留多个对象版本,例如, report_201706.csv (版本 111111) 和 report_201706.csv (版本 222222)。可以启用版本控制来防止自己意外覆盖和删除版本,或存档对象,以便您可以检索早期版本的对象。如果不启用则相同Key 采用覆盖策略。

  • PUT(开启版本控制):

PUT Version Enalbled

  • DELETE(开启版本控制)

PUT Version Enalbled

0x1_5 区域(Region)

存储桶所在地理区域,在某一区域存储的对象将一直留在该区域,除非您特意将其传输到另一区域。定位对象需要 区域>账户授权(获取账户)>桶>key(+version id)来定位到存储对象。

0x2 起步

0x2_1 操作

对存储桶、对象等操作可以有一下几种方式,本文主要讲解SDK操作:

  • AWS S3控制台操作
  • 命令行操作
  • SDK 操作(多种语言SDK,这里以JAVA SDK为例)
  • REST API

0x2_2 依赖(Maven)

  • 引入AWS SDK 依赖管理
<dependencyManagement>
    <dependencies>
        <!--AWS S3需要至少4.5.2以上版本-->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.2</version>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-bom</artifactId>
            <version>1.11.170</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
  • 引入S3-SDK
<dependencies>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
    </dependency>
    <dependency>
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值