OSS对象储存
简介
阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。
使用流程
名词解释
Endpoint(访问域名)
AccessKeyId(阿里云API的密钥)
AccessKeySecret (与AccessKeyId对应)
Bucket(存储空间)
OSS权限控制
- 账号级别权限
- 阿里云账号AccessKey
- RAM子账号AccessKey(避免泄露主账号的AccessKey,建议使用)
- STS账号AccessKey
- Bucket级别权限
- public-read-write 公共读写
- public-read 公共读,私有写
- private 私有读写
- Object级别权限(优先级高于Bucket)
- public-read-write 公共读写
- public-read 公共读,私有写
- private 私有读写
- default 默认权限 继承bucket
- public-read-write 公共读写
个人总结
如果是私有权限的文件,客户端该如何访问?
1.在Header中包含签名
2.在URL中包含签名
注:如果多次请求该方法,每次返回的url都不一样
例子:https://tts-oss-public.oss-cn-shenzhen.aliyuncs.com/test/f3a4a566197744a880383135bee0fccd1234.png?Expires=1524566570&OSSAccessKeyId=TMP.AQFXJvAkVfBaSwWi5a68tvgbrUVyzOH8_6w-YiOdGDYGxUhaBRowDx0ospaoAAAwLAIUNR8PTGbizu3ii_gFls2XEjyAdxgCFCO_85hsDtcnuzhKfXyb3ob4knFV&Signature=tb7w7K%2F%2FiKA4fYPHGieDOh99zUk%3D
- OSS文件URL构成解释?
https://tts-oss-public.oss-cn-shenzhen.aliyuncs.com/test/123.png
tts-oss-public:bucket名称,自定义,保存后不可更改,全局唯一
oss-cn-shenzhen.aliyuncs.com:地域域名,在创建 Bucket 的时候指定的,指定之后不允许更改
test:文件夹名,自定义,如果创建时带有 / 会自动创建
123.png:文件名
- bucket设置为私有,能否防止恶意下载?
不能防止,一但对应资源的签名url对外暴露,在签名url有效期内就可以通过签名url下载对应的资源;
- bucket私有,获取到的资源链接是否具有时效性?
有时效性,一但过期就不可被访问
- 获取到的资源链接是否可以永久有效?
将bucket改为公共读/公共读写,获取到的object链接一般都是永久有效的,但是如果bucket私有要获取永久有效的链接,
不支持也没意义(私有本身就是为了保证数据安全性,一定期限内可访问,一定程度上防止恶意下载,链接有效时间过长也就失去了对应的意义)。
- 补充
OSSClient是OSS服务的Java客户端,它为调用者提供一系列与OSS进行交互的接口,用于管理、操作存储空间(Bucket)和文件(Object)等OSS资源。
-
// 创建OSSClient实例
OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);
-
同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。
OSS对象储存的更多相关文章
- iOS使用阿里云OSS对象存储 (SDK 2.1.1)
最近项目中用到了阿里云OSS对象存储,用来存储APP中图片.音频等一些数据.但坑爹的阿里云居然在11月20日将SDK版本更新到了2.1.1,然而网上给出的教程都是1.*版本的(针对iOS),两个版本所 ...
- oss对象云存储
import qiniu import uuidimport config def qn_upload_voice(fileData): '''上传语音到七牛云 @arg: fileData - 编码 ...
- 架构师小跟班:教你从零开始申请和配置七牛云免费OSS对象存储(不能再详细了)
背景 之前为了练习Linux系统使用,在阿里云上低价买了一台服务器(网站首页有活动链接,传送门),心里想反正闲着也是闲着,就放了一个网站上去.现在随着数据越来越多,服务器空间越来越吃紧,我就考虑使用七 ...
- Java使用阿里云OSS对象存储上传图片
原 Java使用阿里云OSS对象存储上传图片 2017年03月27日 10:47:28 陌上桑花开花 阅读数 26804更多 分类专栏: 工作案例总结 版权声明:本文为博主原创文章,遵循CC 4.0 ...
- 22.Java面试学习平台-整合OSS对象存储
SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. ...
- 在搞OSS对象存储中发现了自身的一些不足
最近在搞OSS对象存储,发现了自身的一些不足,趁着有空在此做个总结,希望能够帮助到大家!!! 首先解释下OSS,Object Storage Service(对象存储服务),一般的云公司,都会提供OS ...
- 阿里云oss对象存储配置CDN
阿里云oss对象存储配置CDN 1.打开阿里云CDN 2.填写信息,这个地方要注意,我的备案域名是www.ljwXXX.work,我们可以自定义一个域名,test.ljwXXX.work作为加速域名. ...
- SpringBoot整合阿里云OSS对象存储实现文件上传
1. 准备工作: 一.首先登录阿里云OSS对象存储控制台创建一个Bucket作为你的存储空间. 二.创建Access Keyan按要求创建进行,这里的方法步骤我就不展现出来了,你们可以自行查询阿里云文 ...
- OSS对象存储
OSS对象存储 当项目以微服务搭建时,多个服务往往运行在多台服务器上,此时针对存储文件的获取和保存,难以确定具体的位置: 针对这个问题,一般有两个办法: 搭建独立的文件存储服务器,用 FastDFS等 ...
随机推荐
- cassandra权威指南读书笔记--Cassandra架构(3)
分阶段事件驱动架构 SEDASEDA(Staged Event-Driven Architecture)的核心思想是把一个请求处理过程分成几个Stage,不同资源消耗的Stage使用不同数量的线程来处 ...
- JavaScript 、TypeScript 中的 Boolean
boolean 是 JavaScript 中一种有趣的原始数据类型.在TypeScript中,非严格模式下("strictNullChecks": false),它总共允许4个值 ...
- Python3.9.1中如何使用split()方法?
本文出自:lunvey,半路出家学编程之Python.split()方法定义于str类中,str类大家都知道是python内置定义的一个字符串类. split()默认两个参数,分别是分隔符和分隔数量, ...
- 2019 徐州网络赛 M Longest subsequence t
对于答案来说,一定是 前 i-1 个字符和 t的前 i 个一样,然后第 i 个字符比 t的 大 \(i\in [1,m]\) 前缀为t,然后长度比t长 对于第一种情况,枚举这个 i ,然后找最小的 p ...
- F(x) HDU - 4734
题意: 给你一个n位的数x(A(n)A(n-1)...A(1)),那么F(x)=A(n)*2^(n-1)+A(n-1)*2^(n-2)......+A(1)*2^(0) 题目输入A.B 你需要找出来在 ...
- 为什么['1', '7', '11'].map(parseInt) returns [1, NaN, 3]?
前言 早上收到Medium的邮件推送,看到这样一篇文章:Why ['1', '7', '11'].map(parseInt) returns [1, NaN, 3] in Javascript 看定义 ...
- RuntimeError already started
Env: os: Ubuntu python3 pytorch vscode Desc 在上述环境中运行A3C多进程模型,使用命令行时没问题,使用vscode时出现 'RuntimeError: al ...
- spring-cloud-netflix-hystrix-dashboard
Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数 ...
- set CSS style in js solutions All In One
set CSS style in js solutions All In One css in js set each style property separately See the Pen se ...
- js console.log all in one
js console.log all in one this & arguments "use strict"; /** * * @author xgqfrms * @li ...