121 java 操作 s3 ( 详细教程 )

一 ,aws 的 java 开发 :1 ,文章和教程 :目的 : 文章和教程部分提供了深入的文档,旨在为使用 AWS 的开发人员提供实际帮助。创建人 : 它们由 AWS 开发人员社区或 Amazon 团队的成员创建效果 : 基于 AWS 服务的实际使用提供结构化的示例、分析、提示、技巧和指南。2 ,emr 是什么 :官网 : Amazon EMR是一种web服务,可以轻松高效地处理大量数据。Amazon EMR使用Hadoop处理结合几个AWS产品来完成web索引、数据挖掘、日志文件分析、机器学习、科学模拟和数据仓库等任务。孙 : 通过点按钮的形式来处理大数据,降低操作难度。3 ,用于 Java 示例项目的 AWS SDK

一个简单的 Java 应用程序,演示了 AWS SDK 的 Java 使用。

4 ,需要 :

maven

5 ,基本配置 : 安全凭证

aws_access_key_id = aws_secret_access_key =

二 ,java 访问 s3 :1 ,pom 文件 : 4.0.0 com.lifeCycle.spark demo01 1.0-SNAPSHOT aws-java-sample http://aws.amazon.com/sdkforjava UTF-8 com.amazonaws aws-java-sdk 1.11.636 ${env.HOME}/.aws/ org.codehaus.mojo exec-maven-plugin 1.2.1 java com.amazonaws.samples.S3Sample org.apache.maven.plugins maven-compiler-plugin 3.6.1 1.8 1.8 2 ,创建桶 :// 创建桶public static void main(String[] args) { // 创建 s3 对象 AmazonS3 s3 = new AmazonS3Client(); // 设置区域 ( 我们使用的是宁夏区域 ) s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1)); // 桶的名字 String bucketName = "sflfirst" + UUID.randomUUID(); // 设置 k String key = "sflfirst"; s3.createBucket(bucketName); System.out.println("创建成功");}3 ,桶列表 :// 桶列表public static void main(String[] args) { // 创建 s3 对象 AmazonS3 s3 = new AmazonS3Client(); // 设置区域 ( 我们使用的是宁夏区域 ) s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1)); for (Bucket bucket : s3.listBuckets()) { System.out.println(" - " + bucket.getName()); }}4 ,上传文件到桶中 :// 上传文件到桶中public static void main(String[] args) { //创建 s3 对象 AmazonS3 s3 = new AmazonS3Client(); // 设置区域 ( 我们使用的是宁夏区域 ) s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1)); // 上传文件到桶中 File file = new File("C:\Users\86182\Desktop\问题.txt"); // 桶名,文件夹名,本地问价路径 s3.putObject("demo02", "wenti", file); System.out.println("上传成功...");}5 ,桶中文件列表 : 文件夹中的文件也列出来// 列出桶中所有对象,并且看到文件夹中的文件public static void main(String[] args) { // 创建 s3 对象 AmazonS3 s3 = new AmazonS3Client(); // 设置区域 ( 我们使用的是宁夏区域 ) s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1)); // 文件夹名字 : ObjectListing objects = s3.listObjects("demo02"); do { for (S3ObjectSummary objectSummary : objects.getObjectSummaries()) { System.out.println("Object: " + objectSummary.getKey()); } objects = s3.listNextBatchOfObjects(objects); } while (objects.isTruncated());}6 ,文件上传 : 到文件夹中 ( img/wenti )img 是文件夹名wenti 是文件名// 上传文件到文件夹中public static void main(String[] args) { // 创建 s3 对象 AmazonS3 s3 = new AmazonS3Client(); // 设置区域 ( 我们使用的是宁夏区域 ) s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1)); // 上传文件到桶中 File file = new File("C:\Users\86182\Desktop\问题.txt"); // 桶名,文件夹名,本地问价路径 s3.putObject("demo02", "img/wenti", file); System.out.println("上传成功...");}7 ,文件下载 :// 文件下载publicstatic void main(String[] args) throws IOException { // 创建 s3 对象 AmazonS3 s3 = new AmazonS3Client(); // 设置区域 ( 我们使用的是宁夏区域 ) s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1)); // 下载文件 ( 桶名,文件夹名+文件名 ) S3Object object = s3.getObject(new GetObjectRequest("demo02", "img/wenti")); // 得到输入流 S3ObjectInputStream input = object.getObjectContent(); // 转换成字符流 BufferedReader reader = new BufferedReader(new InputStreamReader(input)); // 自定义输出流 PrintWriter pw = new PrintWriter("C:\Users\86182\Desktop\s3inputfile\myfile.txt"); // 读这个流 while (true) { String line = reader.readLine(); if (line == null) break; pw.println(line); } System.out.println("写入成功..."); reader.close(); pw.close();}8 ,文件列表 : 指定前缀ObjectListing objectListing = s3.listObjects(new ListObjectsRequest() .withBucketName(bucketName) .withPrefix("My")); for (S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) { System.out.println(" - " + objectSummary.getKey() + " " + "(size = " + objectSummary.getSize() + ")"); }9 ,删除文件对象 : ( 桶名字,文件夹名+文件名 )// 删除文件 :public static void main(String[] args) { // 创建 s3 对象 AmazonS3 s3 = new AmazonS3Client(); // 设置区域 ( 我们使用的是宁夏区域 ) s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1)); // 删除文件 s3.deleteObject("demo02", "img/wenti");}

比丘资源网 » 121 java 操作 s3 ( 详细教程 )

发表回复

提供最优质的资源集合

立即查看 了解详情