Amazon的S3是一个公开的服务,使 Web 开发人员能够存储数字资产(如图片、视频、音乐和文档等),以便在应用程序中使用。开发人员将数字资源通过S3 API或登陆S3的管理页面,上传到S3服务器,生成一个url,可以通过url访问该数字资源。
我们这里采用S3 API工具类的为JetS3t。通过rest接口操作S3上的对象,用到的jar包为jets3t-0.9.0.jar。
- 常用操作API
1.创建s3Service对象
输入:访问密钥awsAccessKey,秘密密钥awsSecretKey
输出:s3Service对象
String awsAccessKey = "****"; String awsSecretKey = "****"; AWSCredentials awsCredentials = new AWSCredentials(awsAccessKey, awsSecretKey); S3Service s3Service = new RestS3Service(awsCredentials);
2.创建存储段
输入:存储段名称bucketName
输出:存储段bucket(类似于文件夹)
S3Bucket bucket = s3Service.getOrCreateBucket("video");
3.创建S3对象
输入:存储段bucket,S3对象路径
输出:S3对象s3obj(类似于文件,S3对象的key为文件名XXX.mp4)
S3Object s3obj = new S3Object(bucket, new File("/path/video/XXX.mp4"));
4.上传文件
输入:存储段bucket,S3对象s3obj
输出:
s3Service.putObject(bucket, s3obj);
5.创建具有有效期的url
输入:存储段bucket名称,S3对象key,有效时间 (秒)
输出:具有有效期的url
String url = s3Service.createSignedUrl(method,bucketName,objectKey,specialParamName,headersMap,secondsSinceEpoch,false,false,false);
6.删除S3对象
输入:存储段bucket名称,S3对象key
输出:
s3Service.deleteObject(bucket.getName(), s3obj.key);
7.列出所有bucket
S3Bucket[] buckets = s3Service.listAllBuckets(); for (S3Bucket b : buckets) { System.out.println(b); }
- 文件上传流程
第一步S3认证
第二步创建文件夹(bucket)
第三步创建文件(s3obj)
第四步上传文件,上传完文件到S3后,我们可以得到该文件的url,例如 http://video.s3.amazonaws.com/XXX.mp4
但该url是不能直接被访问的
第五步创建可以访问的url,例如
https://video.s3.amazonaws.com/XXX.mp4?AWSAccessKeyId=1asd06A5MR2&Expires=1234738280&Signature=rZvk8Gkms =
通过该url可以访问文件,但该url具有有效期,超过有效期后不能访问该文件
- 参考资料
http://storage.chinaunix.net/a2009/1013/758/000000758429.shtml
http://www.ibm.com/developerworks/cn/web/ar-cloudaws2/index.html
相关推荐
赠送原API文档:aws-java-sdk-s3-1.11.939-javadoc.jar 赠送源代码:aws-java-sdk-s3-1.11.939-sources.jar 包含翻译后的API文档:aws-java-sdk-s3-1.11.939-javadoc-API文档-中文(简体)版.zip 对应Maven信息:...
亚马逊新接口
Spring AWS S3 API(Java /Kotlin) 这里是Java和Kotlin API,用于在Spring框架中管理AmazonS3的文件。 为了使用它,需要执行以下步骤: 向pom.xml添加依赖项: 如果您使用Java( ): < groupId>...
有了这个文档 AWS S3 服务java基本上没有啥问题了。。注:我也是在国外网站上找到的。分享给大家。。希望大家多多支持
s3-api.pdf s3 api 中文文档 aws s3 api中文文档 s3 对象存储文档
AWS(GOFAKE)S3 AWS S3伪造服务器和测试库,用于广泛的S3测试集成。 通过运行测试服务器(例如,用于测试访问S3的AWS Lambda函数)来实现。 或者,拥有一个简单且方便的S3模拟和测试服务器。 用它做什么用? 我们...
S3Mock是一种轻量级服务器,实现了Amazon S3 API的某些部分。 创建它是为了支持密封测试并减少测试时对基础结构的依赖性。 可以通过JUnit4和JUnit5支持或以编程方式将模拟服务器作为Docker容器启动。 类似的项目有...
赠送原API文档:aws-java-sdk-s3-1.11.939-javadoc.jar; 赠送源代码:aws-java-sdk-s3-1.11.939-sources.jar; 赠送Maven依赖信息文件:aws-java-sdk-s3-1.11.939.pom; 包含翻译后的API文档:aws-java-sdk-s3-1.11...
代理到AWS API Gateway的AWS Lambda Function使用AWS SNS发送通知,该通知触发事件并将结果存储在AWS S3中。 入门 该项目是关于构建AWS Lambda函数的,该函数在通过发出电子邮件时触发。 一旦发送出去,Mailgun就会...
安装$ npm install aws-s3-object-multipart-copy用法const { S3 } = require ( 'aws-sdk' )const copy = require ( 'aws-s3-object-multipart-copy' )const s3 = new S3 ( )const source = 's3://source-bucket/...
S3 API要求在开始上传之前设置内容长度,这在您要动态计算大量数据时会出现问题。 标准Java AWS开发工具包将简单地将所有数据缓冲在内存中,以便可以计算长度,这会消耗RAM并延迟上载。 您可以将数据写入临时文件,...
aws.s3:Amazon Simple Storage Service(S3)API客户端
AWS JavaScript S3 Explorer是一个JavaScript应用程序,它使用AWSJavaScript SDK和S3 API使公共S3存储桶的内容易于通过Web浏览器进行浏览。 我们创建此文件是为了通过Amazon S3更轻松地共享公共对象和数据。 该存储...
CloudServer提供了单个AWS S3 API接口,可以在内部部署或在云中公共访问多个后端数据存储。 CloudServer对开发人员很有用,可以作为连续集成测试环境的一部分运行以在本地模拟AWS S3服务,或者作为抽象层运行以开发...
实施需要很少的 AWS S3 信息: 1'API_KEY' 是 ASW S3 应用程序密钥。 2.'API_SECRET' 是 ASW S3 应用程序的密钥。 3.'bucket-name' 即 AWS S3 存储桶名称。 4.'端点' 端点是作为此 Web 服务入口点的 URL。要向 AWS ...
高级AWS S3服务一项用于将文件上传到AWS S3存储引擎的小服务。工作正在进行中!
该应用程序需要访问密钥ID和秘密访问密钥才能使用AWS API。 这些可以添加到“ /home/username/.aws/”文件夹中的凭据文件中。 使用终端的步骤 编译 javac -cp lib/aws-java-sdk-1.9.23.jar:lib/commons-logging-...
AWS SQS作业处理程序 使用Terraform在AWS上部署无服务器作业处理程序的参考项目 过度设计的待办事项应用 :grinning_face_with_sweat: 前提条件 确保已安装 , 并配置了default AWS CLI配置文件(请...aws s3api create
解压 【aws-java-sdk-s3-***.jar中文-英文对照文档.zip】,再解压其中的 【aws-java-sdk-s3-***-javadoc-API文档-中文(简体)-英语-对照版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。...
lokalise-demo 要求: 确保已安装并运行: docker 确保已在终端中安装了...aws s3api put-bucket-encryption --bucket lokalise-demo2 --server-side-encryption-configuration ' {"Rules": [{"ApplyServerSideEncry