首先先了解电信天翼云对象存储

产品介绍
        对象存储(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实现相关推荐

  1. 电信天翼 java_电信天翼云对象存储java实现

    首先先了解电信天翼云对象存储 产品介绍您也可以通过OOS提供的SDK来调用OOS服务,开发语言目前支持Ruby..NET.PHP.Java.Python 官方的开发文档还是13年版本的,demo也是各 ...

  2. 天翼云对象存储Java对接(经典版 Ⅱ型)

    前言: 1.此教程只针对 经典版 Ⅱ型 2.前两天甲方让用天翼云做对象存储,我一脸懵逼,根本没听过这玩意,之前就用过阿里云,和华为云,而且喵的他们的接口文档一点用都没有,后来我给他们客服打电话,他们安 ...

  3. 天翼云对象存储android实现,使用天翼云对象存储服务

    使用天翼云对象存储服务 本文介绍如何使用天翼云对象存储服务 安全凭证 在注册天翼云账号之后,进入控制台,创建秘钥,拿到AccessKeyID和SecretAccessKey用于访问对象存储API 下载 ...

  4. 天翼云对象存储android实现,天翼云对象存储

    天翼云对象存储 天翼云对象存储是什么?简单来说,对象存储(Object-Oriented Storage,OOS)是中国电信为客户提供的一种海量.弹性.高可用.高性价比的存储服务.您只需花极少的钱就可 ...

  5. 天翼云对象存储数据迁移至minio

    公司iot数据利用天翼云对象存储接收,公司需要将部分数据迁移至公司机房做分析,故有从天翼云转存至内部minio需求. 数据流程 天翼云oss->天翼云主机->专线->minio 接入 ...

  6. 天翼云对象存储android实现,中国电信天翼云推出对象存储OOS——可作静态网站,可绑独立域名 | 问剑杂谈...

    天翼云推出对象存储OOS--可作静态网站,可绑独立域名 2013-07-01 天翼云推出云存储 我们首先看下官方对于对象存储 面向对象存储(Object-Oriented Storage, OOS提供 ...

  7. 天翼云对象存储android实现,对象存储基础介绍(华为云、腾讯云、天翼云都提供对象存储服务)...

    什么是对象存储 面向对象存储(Object-Oriented Storage,OOS)是云服务提供商为客户提供的一种海量.弹性.高可用.高性价比的存储服务.您只需花极少的钱就可以获得一个几乎无限的存储 ...

  8. 美团 java_GitHub - meituan/mssapi_java: 美团云对象存储 Java SDK

    MSS(Meituan Storage Service) SDK for Java This is MSS SDK for Java. Introduction MSS服务介绍 美团云存储服务(Mei ...

  9. 腾讯云 对象存储Java文件上传 学习资料整理

    # 初始化AmazonS3 前置要求: 获取密钥对:secretID:secretKey 有效Endpoint:nos-eastchina1.126.net 安装SDK --> 即Maven依赖 ...

最新文章

  1. linux检查邮件命令,Linux:mail的邮件收发及查看
  2. 备份MySQL数据库
  3. 在c语言中除法运算符,c – 不需要的除法运算符行为,我该怎么办?
  4. 震惊!上手就是快,GitHub18.5K标星,超实用的Python资源
  5. python中digits什么意思_在Caffe中使用 DIGITS自定义Python层
  6. leetcode刷题:相交链表
  7. 企业内网安全十大防护策略
  8. win11怎么解除网络限制 windows11解除网络限制的设置方法
  9. vue项目打包,生成dist文件夹,如何修改文件夹的名字
  10. Windows 批处理(bat)语法大全
  11. Map的实现类中,哪些是有序的,哪些是无序的
  12. 机械革命无法使用U盘启动linux,机械革命笔记本bios设置u盘启动教程
  13. archlinux fcitx5-rime五笔输入法
  14. RT-Thread Studio 使用笔记(六)| 获取光传感器数据(I2C设备驱动+BH1750手写驱动代码分享)
  15. 怎么用计算机算ess tss,ESS、RSS、TSS分别表示什么?
  16. 我与CSDN的2021 --从路人到一名万粉博主的自述
  17. Ztree Fa-Awesome 图标使用
  18. 【目标检测】YOLOv5-PyQT可视化例程开发
  19. [ol-cesium] ol-cesium学习 二维切换三维 npm启动
  20. CTP程序化交易入门系列之一:准备

热门文章

  1. 数据资产分类与应用价值
  2. 油藏弹性存储量计算公式_油田开发(油藏工程)复习题
  3. 深度增强学习DDPG(Deep Deterministic Policy Gradient)算法源码走读
  4. 右键万能格式转换工具
  5. 青岛科技大学C语言程序设计,2016年青岛科技大学信息学院C语言程序设计考研复试题库...
  6. rundll32参数
  7. Python练习题答案: 摩门经【难度:2级】--景越Python编程实例训练营,1000道上机题等你来挑战
  8. 语音打开应用的功能 语音助手 仿照iri
  9. CHEMKIN III源码下载
  10. 独占鳌头,神州数码位列2019 IDC中国第三方MSP市场份额第一