电信天翼云对象存储java实现
首先先了解电信天翼云对象存储
产品介绍
对象存储(Object-Oriented Storage, OOS)是中国电信为客户提供的一种海量、弹性、廉价、高可用的存储服务。客户只需花极少的钱就可以获得一个几乎无限的存储空间,可以随时根据需要调整对资源的占用,并只需为真正使用的资源付费。
OOS 提供了基于各种开发语言的 SDK 和基于 HTTP REST 的访问接口两种访问方式,用户可以在任何地方通过互联网对数据进行管理和访问。 OOS 提供的 REST接口与 Amazon S3 兼容,因此基于 OOS 的业务可以非常轻松的与 Amazon S3 对接。您也可以通过 OOS 提供的 SDK 来调用 OOS 服务,开发语言目前支持 Ruby、 .NET、 PHP、Java、 Python
官方的开发文档还是13年版本的,demo也是各种跑不通,看的出很久没维护了,在最开始使用的时候还是走了不少的弯路,后来实在没办法了,联系了技术支持,他们提供了一份最新的文档和demo,然后稍做修改,在这里跟大家分享一下
1.创建客户端
电信oos服务是基于亚马逊aws的包实现,但是他们自己有做一些封装,这里如果你引入了亚马逊官方的jar包,请更换为电信封装好的包,不然功能是无法实现的,jar包下载地址https://download.csdn.net/download/alungo/10499845
代码:
package com.yxy.tyy.tyy_service.utlis;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.yxy.tyy.tyy_service.constants.TyyConstants;
public class CreateClient {
public static AmazonS3 getClient() {
// 创建一个AmazonS3 客户端对象
AmazonS3 client = new AmazonS3Client(new AWSCredentials() {
public String getAWSAccessKeyId() {
return TyyConstants.ACCESS_KEY;//你的accesskey
}
public String getAWSSecretKey() {
return TyyConstants.SECRET_KEY;//你的secretKey
}
});
// 设置API服务器
client.setEndpoint(TyyConstants.OOS_DOMAIN);//设置你的资源池域名,我的是https://oos-hq-sh.ctyunapi.cn
return client;
}
}
到这里只要客户端建立了,剩下的功能就容易了
在使用 SDK 访问 AccessKey 相关的 API 时,需要 setEndpoint 为
oos-iam.ctyunapi.cn(终端节点http://oos-hq-sh.ctyunapi.cn)
2.调用客户端方法实现不同功能
创建accesskey
client.ctyunCreateAccessKey();
每个用户可以拥有多个主密钥和普通密钥, 两者的区别是:
1. 主密钥用于生成普通密钥,每个账户必须至少拥有一个主密钥。
2. 密钥可以被禁止使用,或者启用。 当账户的主密钥只剩下一个时,该密
钥不能被禁用或者删除。
3. 用户可以将普通密钥设置成为主密钥。
4. 普通密钥不能创建,删除,修改 bucket 属性。
5. 普通密钥只能操作以自己 AccessKey 开头的 Object,包括创建,删除,
下载 Object 等操作。
例如:普通 AccessKey 为 e67057e798af03040565,那么该 AccessKey 只
能创建以 e67057e798af03040565 开头的 Object 名。
6. 普通密钥可以 list objects,但是参数 prefix 必须以 AccessKey 开头,即
普通密钥只能 list 以自己的 AccessKey 开头的 Object。
删除accesskey
DeleteAccessKeyRequest deleteAccessKeyRequest = new DeleteAccessKeyRequest(要删除的key的值);
client.ctyunDeleteAccessKey(deleteAccessKeyRequest);
更新accesskey
UpdateAccessKeyRequest updateAccessKeyRequest = new UpdateAccessKeyRequest(updateKey,updateContent);
updateAccessKeyRequest.setCtyunIsPrimary("false");
client.ctyunUpdateAccessKey(updateAccessKeyRequest);
创建bucket
client.createBucket(bucket名);
删除bucket
client.deleteBucket(bucket名);
更新bucket
client.setBucketAcl(bucket名, CannedAccessControlList.PublicRead);
获取bucket列表
for (Bucket bucket : client.listBuckets()) {
bucketList.add(bucket.getName());
}
获取对象列表
ObjectListing list = client.listObjects(bucketName);
for (S3ObjectSummary object : list.getObjectSummaries()) {
objectName.add(object.getKey());
}
删除对象
client.deleteObject(bucketName, objectName);
上传对象
InputStream is = new ByteArrayInputStream(file.getBytes());
try {
ObjectMetadata meta = new ObjectMetadata();
meta.setContentLength(file.getSize());
String fileName = file.getName() + System.currentTimeMillis();
client.putObject(bucketName, fileName, is, meta);
获取分享连接
Date date=new Date();//取时间
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.add(Calendar.DATE,365000);
date=calendar.getTime();
//生成共享链接
URL url =client.generatePresignedUrl(bucketName, fileName, date);
电信天翼云对象存储java实现相关推荐
- 电信天翼 java_电信天翼云对象存储java实现
首先先了解电信天翼云对象存储 产品介绍您也可以通过OOS提供的SDK来调用OOS服务,开发语言目前支持Ruby..NET.PHP.Java.Python 官方的开发文档还是13年版本的,demo也是各 ...
- 天翼云对象存储Java对接(经典版 Ⅱ型)
前言: 1.此教程只针对 经典版 Ⅱ型 2.前两天甲方让用天翼云做对象存储,我一脸懵逼,根本没听过这玩意,之前就用过阿里云,和华为云,而且喵的他们的接口文档一点用都没有,后来我给他们客服打电话,他们安 ...
- 天翼云对象存储android实现,使用天翼云对象存储服务
使用天翼云对象存储服务 本文介绍如何使用天翼云对象存储服务 安全凭证 在注册天翼云账号之后,进入控制台,创建秘钥,拿到AccessKeyID和SecretAccessKey用于访问对象存储API 下载 ...
- 天翼云对象存储android实现,天翼云对象存储
天翼云对象存储 天翼云对象存储是什么?简单来说,对象存储(Object-Oriented Storage,OOS)是中国电信为客户提供的一种海量.弹性.高可用.高性价比的存储服务.您只需花极少的钱就可 ...
- 天翼云对象存储数据迁移至minio
公司iot数据利用天翼云对象存储接收,公司需要将部分数据迁移至公司机房做分析,故有从天翼云转存至内部minio需求. 数据流程 天翼云oss->天翼云主机->专线->minio 接入 ...
- 天翼云对象存储android实现,中国电信天翼云推出对象存储OOS——可作静态网站,可绑独立域名 | 问剑杂谈...
天翼云推出对象存储OOS--可作静态网站,可绑独立域名 2013-07-01 天翼云推出云存储 我们首先看下官方对于对象存储 面向对象存储(Object-Oriented Storage, OOS提供 ...
- 天翼云对象存储android实现,对象存储基础介绍(华为云、腾讯云、天翼云都提供对象存储服务)...
什么是对象存储 面向对象存储(Object-Oriented Storage,OOS)是云服务提供商为客户提供的一种海量.弹性.高可用.高性价比的存储服务.您只需花极少的钱就可以获得一个几乎无限的存储 ...
- 美团 java_GitHub - meituan/mssapi_java: 美团云对象存储 Java SDK
MSS(Meituan Storage Service) SDK for Java This is MSS SDK for Java. Introduction MSS服务介绍 美团云存储服务(Mei ...
- 腾讯云 对象存储Java文件上传 学习资料整理
# 初始化AmazonS3 前置要求: 获取密钥对:secretID:secretKey 有效Endpoint:nos-eastchina1.126.net 安装SDK --> 即Maven依赖 ...
最新文章
- linux检查邮件命令,Linux:mail的邮件收发及查看
- 备份MySQL数据库
- 在c语言中除法运算符,c – 不需要的除法运算符行为,我该怎么办?
- 震惊!上手就是快,GitHub18.5K标星,超实用的Python资源
- python中digits什么意思_在Caffe中使用 DIGITS自定义Python层
- leetcode刷题:相交链表
- 企业内网安全十大防护策略
- win11怎么解除网络限制 windows11解除网络限制的设置方法
- vue项目打包,生成dist文件夹,如何修改文件夹的名字
- Windows 批处理(bat)语法大全
- Map的实现类中,哪些是有序的,哪些是无序的
- 机械革命无法使用U盘启动linux,机械革命笔记本bios设置u盘启动教程
- archlinux fcitx5-rime五笔输入法
- RT-Thread Studio 使用笔记(六)| 获取光传感器数据(I2C设备驱动+BH1750手写驱动代码分享)
- 怎么用计算机算ess tss,ESS、RSS、TSS分别表示什么?
- 我与CSDN的2021 --从路人到一名万粉博主的自述
- Ztree Fa-Awesome 图标使用
- 【目标检测】YOLOv5-PyQT可视化例程开发
- [ol-cesium] ol-cesium学习 二维切换三维 npm启动
- CTP程序化交易入门系列之一:准备
热门文章
- 数据资产分类与应用价值
- 油藏弹性存储量计算公式_油田开发(油藏工程)复习题
- 深度增强学习DDPG(Deep Deterministic Policy Gradient)算法源码走读
- 右键万能格式转换工具
- 青岛科技大学C语言程序设计,2016年青岛科技大学信息学院C语言程序设计考研复试题库...
- rundll32参数
- Python练习题答案: 摩门经【难度:2级】--景越Python编程实例训练营,1000道上机题等你来挑战
- 语音打开应用的功能 语音助手 仿照iri
- CHEMKIN III源码下载
- 独占鳌头,神州数码位列2019 IDC中国第三方MSP市场份额第一