数据迁移_二(阿里云/七牛云 数据初步处理)

昨天完成了阿里云的OSS的文件上传和下载

前面把七牛云的上传功能实现了(今天把七牛云的下载功能实现)

阿里和七牛云的上传和下载模块都能实现(后面就可以实现数据迁移了)

import com.qiniu.util.Auth;

public class QiniuDownload {

//设置好账号的ACCESS_KEY和SECRET_KEY

String ACCESS_KEY = "******";

String SECRET_KEY = "******";

//密钥配置

Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);

//构造私有空间的需要生成的下载的链接

String URL = "******";

public static void main(String args[]) {

new QiniuDownload().download();

}

public void download() {

//String encodedUrl = URLEncoder.encode(URL, "utf-8");

//调用privateDownloadUrl方法生成下载链接,第二个参数可以设置Token的过期时间

String downloadRUL = auth.privateDownloadUrl(URL, 3600);

System.out.println(downloadRUL);

}

}

控制台打印的下载的URL

v2-a61a8e62b75fff6a64c927bf0d48b023_b.jpg


访问资源的下载的URL


v2-110357c595edd7950bcf9bc748941ff4_b.jpg


可以访问资源的链接


编写阿里云获取文件文档类名

//获取阿里全部的文件名

public void getAllFileName() {

// Endpoint以杭州为例,其它Region请按实际情况填写。

String endpoint = "******";

// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 ram.console.aliyun.com 创建。

String accessKeyId = "******";

String accessKeySecret = "******";

String bucket="******";

// 创建OSSClient实例。

OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);

// 列举文件。 如果不设置KeyPrefix,则列举存储空间下所有的文件。KeyPrefix,则列举包含指定前缀的文件。

ObjectListing objectListing = ossClient.listObjects(bucket);

List<OSSObjectSummary> sums = objectListing.getObjectSummaries();

for (OSSObjectSummary s : sums) {

System.out.println("\t" + s.getKey());

}

// 关闭OSSClient。

ossClient.shutdown();

}


运行测试一下


v2-1cc5c97f155f71b13e892d1a62cf5035_b.jpg


后台打印文件名称的信息


v2-0ee57a23d85407a1ce7acde61c9a2d67_b.jpg



七牛云获取全部的文件名

//获取七牛云全部的文件名

public void getAllFileName1() {

//构造一个带指定Zone对象的配置类

Configuration cfg = new Configuration(Zone.zone0());

//...其他参数参考类注释

String accessKey = "******";

String secretKey = "******";

String bucket = "******";

Auth auth = Auth.create(accessKey, secretKey);

BucketManager bucketManager = new BucketManager(auth, cfg);

//文件名前缀

String prefix = "";

//每次迭代的长度限制,最大1000,推荐值 1000

int limit = 1000;

//指定目录分隔符,列出所有公共前缀(模拟列出目录效果)。缺省值为空字符串

String delimiter = "";

//列举空间文件列表

BucketManager.FileListIterator fileListIterator = bucketManager.createFileListIterator(bucket, prefix, limit, delimiter);

while (fileListIterator.hasNext()) {

//处理获取的file list结果

FileInfo[] items = fileListIterator.next();

for (FileInfo item : items) {

System.out.println(item.key);

System.out.println(item.hash);

System.out.println(item.fsize);

System.out.println(item.mimeType);

System.out.println(item.putTime);

System.out.println(item.endUser);

}

}

}

测试一下


v2-8a98bf80b6632901c8e06ec17ff89bfe_b.jpg


打印了详细的信息(现在我的云服务器里面只只存了一张图片)


v2-15dcb969f9814d9cf2e7d7d721d3e349_b.jpg


尝试数据迁移


v2-67dcf8b472d6eefee428ac68abdad5c2_b.jpg


准备单个的测试


v2-fd7ac6c2cf33e63c6c77a18fa2eb2929_b.jpg


上传的图片没有数据(可能是这个原因)


v2-c564522995379823c34397e45a288920_b.jpg


报错异常

这个问题解决不了(感觉是下载的类的编写得到类型不对)

我决定重写再次去测试一下这个,把这个弄透彻一点,上次那个阿里上传的问题,找了三天左右的问题,后面终于找到的问题的地方

今天的收获:终于有这个数据迁移的思路,先下载文件,将数据流转换上传到另一个服务器上面,就是下载的流的问题,应该的转换的问题,那个每次就是在String类型和MultipartFile类型转换,尝试再次解决 这个问题

今天的遇到困难:就是数据的迁移上传下载文件流不一样,强转还是不能解决问题,接下来尝试一下,继续寻找方法解决这个

明天的计划:解决这个问题数据迁移的实现(尝试一下还是出现问题了)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值