阿里云OOS储存
OOS:阿里云对象存储OOS是一款海量、安全、低成本、高可靠的云存储服务,提供99.99%的数据持久性和可用性,多种存储范例供选择,全面优化存储成本,非常得当存储非布局化数据,例如视频,图形,日志,文本文件以及各种app应用,多终端同步软件,网盘下载站的文件等,单个文件的巨细从1字节到18.8TB,可以存储的个数无限制。1、注册登录,https://www.aliyun.com/https://csdnimg.cn/release/blog_editor_html/release2.2.0/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=M85Bhttps://www.aliyun.com/
2、登录成功后(最好支付宝登陆)将鼠标悬停在主界面导航栏中的产品地区位置并进入对象存储OSS;
3、开通云存储,实名认证,开通OOS。
https://img-blog.csdnimg.cn/5ebec43efaed49e380c5804cb191671a.png
4、点击管理控制台进入,进入对象存储主界面后会看到概览中有一项Bucket列表,这就是用于创建云存储文件夹的地方;根据下图的流程会进入到一个创建Bucket添加信息栏中;
【Bucket名称】:用户自定义名称 【地区】:自定义选择 【存储范例】:尺度存储 【同城冗余存储】:关闭「收费」 【版本控制】:不开通「收费」 【读写权限】:公共读 【服务端加密方式】:无 【及时日志查询】:不开通「收费」 【定时备份】:不开通「收费」
https://img-blog.csdnimg.cn/ae4fe28e500441c48baec9cec453d36d.png
5、进入设置成功的存储空间内需要生存Bucket 域名;在oss主界面中进入Access Key并检察生存,后期会在xml配置中利用,留意Bucket地址和Access Key。
https://img-blog.csdnimg.cn/76efe3a639684ac7b6c217c8c6efdeba.png
6、完成到这一步就说明阿里云OSS已经设置好了,接下来就是编写后端的阶段了!
后端利用:
pom文件引入依赖:
<!--阿里云oss依赖-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
</dependency>
application.properties文件中,添加存放云存储的Bucket地址及AccessKey配置信息
# 端口号
server.port=8001
spring.application.name=yun-upload
# 环境地址
spring.profiles.active=dev
# 阿里云云存储OSS配置信息
# Bucket地址
aliyun.oss.file.endpoint=自定义
# Access Key
aliyun.oss.file.keyid=自定义
aliyun.oss.file.keysecret=自定义
# Bucket名称
aliyun.oss.file.bucketname=自定义
utils类:用于读取xml配置信息,将配置信息转换成工具类进行调用;
package com.csdn.oss.utils;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
//当项目已启动,spring接口,spring加载之后,执行接口一个方法
@Component
public class ConstantPropertiesUtils implements InitializingBean {
//读取配置文件内容
@Value("${aliyun.oss.file.endpoint}")
private String endpoint;
@Value("${aliyun.oss.file.keyid}")
private String keyId;
@Value("${aliyun.oss.file.keysecret}")
private String keySecret;
@Value("${aliyun.oss.file.bucketname}")
private String bucketName;
//定义公开静态常量
public static String END_POIND;
public static String ACCESS_KEY_ID;
public static String ACCESS_KEY_SECRET;
public static String BUCKET_NAME;
@Override
public void afterPropertiesSet() throws Exception {
END_POIND = endpoint;
ACCESS_KEY_ID = keyId;
ACCESS_KEY_SECRET = keySecret;
BUCKET_NAME = bucketName;
}
}
service上传接口:
package com.csdn.oss.service;
import org.springframework.web.multipart.MultipartFile;
public interface OssService {
//上传头像到oss
String uploadFileAvatar(MultipartFile file);
}
serviceImpl:用于获取上传文件进行判断处置惩罚;
package com.csdn.oss.service.impl;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.csdn.oss.service.OssService;
import com.csdn.oss.utils.ConstantPropertiesUtils;
import org.joda.time.DateTime;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.util.UUID;
@Service
public class OssServiceImpl implements OssService {
//上传头像到oss
@Override
public String uploadFileAvatar(MultipartFile file) {
// 工具类获取值
String endpoint = ConstantPropertiesUtils.END_POIND;
String accessKeyId = ConstantPropertiesUtils.ACCESS_KEY_ID;
String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET;
String bucketName = ConstantPropertiesUtils.BUCKET_NAME;
try {
// 创建OSS实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
//获取上传文件输入流
InputStream inputStream = file.getInputStream();
//获取文件名称
String fileName = file.getOriginalFilename();
//1 在文件名称里面添加随机唯一的值
String uuid = UUID.randomUUID().toString().replaceAll("-","");
// yuy76t5rew01.jpg
fileName = uuid+fileName;
//2 把文件按照日期进行分类
//获取当前日期
// 2019/11/12
String datePath = new DateTime().toString("yyyy/MM/dd");
//拼接
//2019/11/12/ewtqr313401.jpg
fileName = datePath+"/"+fileName;
//调用oss方法实现上传
//第一个参数Bucket名称
//第二个参数上传到oss文件路径和文件名称 aa/bb/1.jpg
//第三个参数上传文件输入流
ossClient.putObject(bucketName,fileName , inputStream);
// 关闭OSSClient。
ossClient.shutdown();
//把上传之后文件路径返回
//需要把上传到阿里云oss路径手动拼接出来
//https://edu-guli-1010.oss-cn-beijing.aliyuncs.com/01.jpg
String url = "https://"+bucketName+"."+endpoint+"/"+fileName;
return url;
}catch(Exception e) {
e.printStackTrace();
return null;
}
}
}
controller:将上传返回到前端
package com.csdn.oss.controller;
import com.csdn.commonutils.R;
import com.csdn.oss.service.OssService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@RestController
@RequestMapping("/eduoss/fileoss")
@CrossOrigin
public class OssController {
@Autowired
private OssService ossService;
//上传头像的方法
@PostMapping
public R uploadOssFile(MultipartFile file) {
//获取上传文件MultipartFile
//返回上传到oss的路径
String url = ossService.uploadFileAvatar(file);
return R.ok().data("url",url);
}
}
测试运行代码:
https://img-blog.csdnimg.cn/4881bc9d935e4613b246094847ff6bcb.png
打开swagger-ui进行测试:swagger中上传文件,然后去OOS上检察
阿里云OOS安全问题:阿里云对象存储OSS原生DDoS防护能力-高防OSS功能
高防OSS,顾名思义,就是原生具有高防能力的OSS实例,高防OSS是针对OSSbucket在遭受大流量DDoS攻击后导致服务不可用的情况下,推出的付费服务,用户可通过配置高防OSS,将针对相干Bucket的攻击流量引流到高防IP,确保源Bucket的稳定可靠。
随着企业数字化转型的不停深入,更多的业务上云,更大量的业务数据产生和利用,为了更好更优的提升服务质量。更多的行业采用内容即服务的架构,存储数据流直接面向用户和终端,在如许的大配景下,存储平台的可用性至关紧张。与此同时,DDoS攻击是近年来对企业业务危害最大的攻击本领之一。当企业遭受DDoS攻击时,大概会导致业务停止,进而导致企业的形象受损、客户流失、收益受损等,严峻影响企业业务的正常运营。为此,OSS深度集成阿里云DDoS高防产品,提供最高T级DDoS防护能力、百万QPS防护、秒级攻击切换能力,可有用抵御SYNFlood、ACKFlood、ICMPFlood、UDPFlood、NTPFlood、SSDPFlood、DNSFlood、HTTPFlood等攻击。非常适用于业务经常遭恶意攻击影响服务质量的场景,实现安全防护。高防OSS作为OSS产品的一个功能,构建于OSS平台之上,提供一站式的OSS安全(防攻击)能力,旨在为用户云存储业务提供原生“安全防护”服务。用户在开通高防OSS后,在用户Bucket未受到攻击时,OSS尺度域名会被解析到原生防护IP上,维持正常的网络状态,确保业务的低时延;而当用户Bucket受到攻击时,相干的访问流量都将优先颠末高防机房,恶意攻击流量将在高防流量洗濯中心进行洗濯过滤,正常的访问流量通过端口协议转发的方式返回给OSS服务器,从而保障用户在受到攻击时能正常访问OSS。
https://img-blog.csdnimg.cn/img_convert/800ab8562f8cfd48eb0920aa0199fd0c.png
1)摆设简便、方便易用、无感知(原生+高防双重防护)
用户只需要在OSS控制台上进行浅易的配置,就能享受DDoS防护能力。加入防护后,在没有攻击的时间段独享云原生防护实例,维持正常状态的网络性能,确保业务无额外时延;在受到攻击时,OSS会主动将处于防护状态下的bucket通过高防资源池进行流量洗濯,从而达到主动切换的效果,保持网络服务可靠性。
2)T级防御能力
基于阿里云安全产品的DDoS高防能力,可以提供高达T级的防护能力,同时具备完善的四七层防御能力。在流量洗濯技术方面,分别针对网络流量型攻击和资源耗尽型DDoS攻击,通过主动优化防护算法和深度学习业务流量基线,达到精准识别攻击IP并主动过滤洗濯的目标。
3)DDoS防护引擎成熟度高
从应用与实践来看,阿里云高防引擎已经有上万企业用户在利用,同时也经受了双十一、世界杯直播等极限场景考验,积累了丰富的防护经验和大量的资源储备,应用广泛,可以确保为用户的业务保障极致的防攻击能力。从架构上老看,DDoS防护引擎采用高可用网络防护集群,制止单点故障和冗余,且处置惩罚性能支持弹性扩展。全主动检测和攻击策略匹配,提供及时防护,洗濯服务可用性达99.99%。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]