OSS代码实战
代码示例: oss-demo
阿里云官网也有各种代码示例:aliyun-demo
1. java访问
-
依赖
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.10.2</version> </dependency> </dependencies>
-
上传下载等
见示例代码
2. springboot 整合
-
引入依赖
-
配置文件
application.yml
server: port: 9999 aliyun: endpoint: https://yourEndpoint accessKeyId: yourId accessKeySecret: yourSecret bucketName: yourBucket
-
创建 AliyunConfig
@Configuration @ConfigurationProperties(prefix = "aliyun") @Data public class AliyunConfig { private String endpoint; private String accessKeyId; private String accessKeySecret; private String bucketName; // 生成OSSClient @Bean public OSS ossClient() { return new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); } }
-
业务代码实现
见示例工程 代码即可
3. 数据处理
3.1 简介
阿里云OSS为在云上的数据打通了一个处理与使用的快速通道。通过简单的RESTful接口,可以在任何时间、任何地点、任何互联网设备上对存储在OSS中的数据进行分析处理。
数据处理包含以下两种:
-
阿里云OSS原生处理服务
阿里云OSS原生处理服务包括图片处理和视频截帧,其中图片处理包括图片的缩略、剪裁、参数调节等。OSS原生处理服务无需开通,默认集成在OSS中,创建完Bucket后即可使用。产生的数据处理费用直接在OSS上结算。
-
智能媒体管理服务
阿里云OSS与智能媒体管理(IMM)深度结合,支持文档预览、文档格式转换、人脸识别、图片分析、二维码识别等丰富的数据分析处理操作。
3.2 图片处理
包含图片缩放, 图片裁剪, 图片旋转, 图片效果(如模糊), 格式转换……………..
3.3 视频截祯
- 当前仅支持对视频编码格式为H264的视频文件进行视频截帧。
- OSS当前没有默认保存视频截帧的操作,视频截帧的图片需手动下载到本地。
3.4 音频处理
存储在OSS上的多媒体音视频数据,可以通过经济、弹性、高扩展的阿里云媒体转码服务,转换成适合在移动端、PC、TV上播放的格式。
- 转换媒体格式,支持多平台播放。
- 保证相同画质质量的前提下,调整视频码率、提高视频压缩效率、减小文件体积,从而减少播放卡顿并节省存储空间和流量费用。
- 添加水印logo,突出品牌,增加产品识别度。
- 对视频进行剪辑/拼接等二次创作。
- 针对画质较差的视频,去除画面中的毛刺、马赛克等,修复为高清晰版本。
3.5 智能媒体管理 IMM
阿里云OSS能够与智能媒体管理(IMM)深度结合,支持文档预览、文档格式转换、人脸识别、图片分析、二维码识别等丰富的数据分析处理操作。
- 要在OSS中使用IMM功能,您需要开通IMM服务并进行授权。
- 如果您使用RAM子账号进行本文中的操作,需要同时开通对应存储空间的访问权限和Aliyun IMM Full Access权限。
- 创建IMM Project及使用IMM功能会产生一定的费用,如果您不需要使用IMM的功能,请及时解绑IMM。详细费用请参见计费说明。
4. CDN加速
对象存储OSS与阿里云CDN服务结合,可优化静态热点文件下载加速的场景(即同一地区大量用户同时下载同一个静态文件的场景)。您可以将OSS的存储空间(Bucket)作为源站,利用阿里云CDN将源内容发布到边缘节点。当大量终端用户重复访问同一文件时,可以直接从边缘节点获取已缓存的数据,提高访问的响应速度。
适用场景:
- 静态文件访问量大,服务器负载高,I/O问题导致用户访问卡顿。
- 静态文件数量大,服务器存储空间不够。
- 静态文件用户访问分布在各地,同一个地区客户,会成千上万次重复下载同一文件。