阿里云对象存储OSS入门使用
阿里云对象存储OSS入门使用数据,文件的存储:数据(MySQL)数据(MySQL)+ 文件(本地:IO流)数据(MySQL)+ 缓存(Redis)+文件(服务器集群上,fastDFS(集群),Hdfs(大数据))数据(MySQL)+ 缓存(Redis)+文件(OSS)OSS 就是为了解决海量数据存储和弹性扩容,我们就可以采用阿里云OSS。1、开通服务(免费开通)2、Bucket 库点击创建Buck
·
阿里云对象存储OSS入门使用
数据,文件的存储:
- 数据(MySQL)
- 数据(MySQL)+ 文件(本地:IO流)
- 数据(MySQL)+ 缓存(Redis)+文件(服务器集群上,fastDFS(集群),Hdfs(大数据))
- 数据(MySQL)+ 缓存(Redis)+文件(OSS)
OSS 就是为了解决海量数据存储和弹性扩容,我们就可以采用阿里云OSS。
1、开通服务(免费开通)
2、Bucket 库
- 点击创建Bucket
- 填写Bucket名称及区域
- 注:我这里区域选的是杭州,因为当时买服务器的时候,我是选的杭州区域,赠送的OSS包月资源包,当然也可以按流量计费,个人测试的话几块钱可以搞定。
3、注意:使用子权限——安全
- 点击访问控制
- 创建用户
- 创建用户组
- 用户组权限设置
- 将用户添加到用户组
- 保存账户信息
4、测试API
- 找到官方文档
- 测试
package com.coding.aliyun;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.CannedAccessControlList;
import com.aliyun.oss.model.GetObjectRequest;
import com.aliyun.oss.model.ObjectMetadata;
import org.junit.Test;
import java.io.*;
// 详细步骤请参照官方文档,详细步骤请参照官方文档,详细步骤请参照官方文档
public class OSSTest {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
String accessKeyId = "LTAI4Fcy4XxxxxxQR4";
String accessKeySecret = "spI0CUXTDxxxxxxxYsf4lmIaUdrIu";
String bucketName = "vin955";
@Test
public void testCreate(){
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
boolean exists = ossClient.doesBucketExist(bucketName);
if (exists == false) { //判定是否存在此存储空间
// 创建存储空间。
ossClient.createBucket(bucketName);
}
// 设置存储空间的访问权限为私有。
ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
// 关闭OSSClient。
ossClient.shutdown();
}
@Test
public void testCreate2(){
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 上传文件流。
InputStream inputStream = null;
try {
inputStream = new FileInputStream("C:\\Users\\heng\\Desktop\\ava.png");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
ossClient.putObject(bucketName, "ava/aaa.png", inputStream);
// 关闭OSSClient。
ossClient.shutdown();
}
@Test
public void testCreate3() throws IOException {
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
String objectName = "ava/aaa.png";
// ossObject包含文件所在的存储空间名称、文件名称、文件元信息以及一个输入流。
//OSSObject ossObject = ossClient.getObject(bucketName, objectName);
ObjectMetadata ossObject = ossClient.getObject(new GetObjectRequest(bucketName, objectName),new File("a.png"));
// 关闭OSSClient。
ossClient.shutdown();
}
@Test
public void testCreate4() throws IOException {
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
String objectName = "ava/aaa.png";
// 删除文件。如需删除文件夹,请将ObjectName设置为对应的文件夹名称。如果文件夹非空,则需要将文件夹下的所有object删除后才能删除该文件夹。
ossClient.deleteObject(bucketName, objectName);
ossClient.shutdown();
}
}
更多推荐
所有评论(0)