如何迁移 OSS 的文件_2|学习笔记

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储OSS,敏感数据保护2.0 200GB 1年
对象存储 OSS,内容安全 1000 次 1年
简介: 快速学习如何迁移 OSS 的文件_2

开发者学堂课程【管理功能玩转对象存储 OSS 使用入门如何迁移 OSS 的文件_2】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/378/detail/4745


如何迁移 OSS 的文件_2


内容介绍

一、通过 API/SDK上传 文件

、MultipartUpload 注意事项


一、通过 API/SDK 上传文件

1、通过 MultipartUpload 对象 oss上传大文件,回到 eclipse 工作环境,这里采用的是 SDK 中包含的 oss 的 Multipartsample.Java 这个文件中的示例代码进行操作,除了 putobject 中的基本设置外,MultipartUpload 还需要一些额外的设置,例如设置的 part_size 主要是来指定后续 upload 时候的每个分块的大小,这里只还指定上传 part 的并发线程数。

2、查看主函数,在主函数中先用一个 client 的对象,该 client 对象可以通过clientconfiguration 进行设置,这里采用的是默认设置当有一个 client 对象后,去生成一个 file 对象。该 file 对象指代的是的大文件,在这里采用了 upload big file 来统一的编写 MultipartUpload 的代码,点击进入被 upload big file 查看其详细实现细节。

3、首先在该过程中主要做的第一个步骤就是去计算每个分块的个数,会根据前述所定义的每个 part 的大小来计算总共的分块个数,如果计算得到的 part count 小于等于1则说明本次计算有误,需要重新的进行任务。在计算完成之后,将通过initmultipartupload 接口来对分块上传进行初始化操作点击进入该函数,可以看到该函数的参数是通过 client bucketname objectname 三个参数来实现的主要是为了初始化一个分块上传的事件,初始化完成后将得到一个 upload ID 该 upload ID 将全局指定标识本次分块上传的事件。在初始化分块上传的任务的时候,是调用 client 的 initiaremultipartupload 接口来对该方法进行分块上传进行初始化,用户可以指定 initiaremultipartupload 指定其 request 相关参数,在完成后,就将可以得到对应的标识,该 MultipartUpload 的 upload ID

4、接下来需要做的第二步就是需要创建一个线程时,这里采用的是上述的两并发的线程时得到该线程时主要应用的是 uploadpartthread 该线程点击进入该线程查看,可以查看该线程主要是来通过调用 client  uploadpart 功能实现上传分块的一个接口,它的实参主要是 uploadpartRequestuploadpartRequest 可以指定本次 upload 分块它所属的一些特性一些属性包括主要包括 bucketnameobjectnameupload ID它对应的 streamli它的 part 大小以及它对应的 partnumber,会根据指定的bucket的名称 upload ID,并根据 partnumber 来区分对应的分块。在上传完成后,oss 会返回其对应的 Python 数据的 MD 值放在attack 中,可以通过类似的容器来获取该 attack 值。再完成第二步分块上传后,可以通过去判断类似的容器的一个 size 大小是否与预期的 part count 的大小是否一致如果一致说明的所有的分块都已经正常上传,而如果不一致则说明有分块未成功上传。

5、在确认完所有分块正常上传后,可以通过 complatemultipartupload 接口来对整个分块上传任务进行完成的操作。在完成一个 multipartupload 的请求的时候,需要用户提供有效的各分块的列表,其中包括各分块的号码,也就是 part number和它对应的 lient,oss 在接收到用户提供的 part 列表以后,会逐个验证各个分块的有效性,当所有的分块的有效性都验证通过后,oss 将这些数据的 part 组成一个完整的 object。而这里所调用的接口就是通过 client 的 complatemultipartupload接口来实现的。在完成上述的操作后,整个 multipartupload 就算是实现完成。

 

二、MultipartUpload 注意事项

1、上传分块可以通过 Content-MD5 验证分块的有效性。

2、除最后一块以外所有块的大小都大100KB。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
相关文章
|
4月前
|
Web App开发 监控 安全
OSS客户端签名直传实践:Web端安全上传TB级文件方案(含STS临时授权)
本文深入解析了客户端直传技术,涵盖架构设计、安全机制、性能优化等方面。通过STS临时凭证与分片上传实现高效安全的文件传输,显著降低服务端负载与上传耗时,提升系统稳定性与用户体验。
439 2
|
8月前
|
消息中间件 监控 数据挖掘
【有奖实践】轻量消息队列(原 MNS)订阅 OSS 事件实时处理文件变动
当你需要对对象存储 OSS(Object Storage Service)中的文件变动进行实时处理、同步、监听、业务触发、日志记录等操作时,你可以通过设置 OSS 的事件通知规则,自定义关注的文件,并将 OSS 事件推送到轻量消息队列(原 MNS)的队列或主题中,开发者的服务即可及时收到相关通知,并通过消费消息进行后续的业务处理。
152 94
|
文字识别 算法 API
视觉智能开放平台产品使用合集之上传素材文件不在同一地域的OSS,怎么上传多张图片
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
128 2
|
存储 运维 Serverless
函数计算产品使用问题之OSS触发器是否可以只设置文件前缀
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
运维 Serverless 对象存储
函数计算产品使用问题之如何配合OSS实现接口收到的图片或文件直接存入OSS
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
166 0
|
分布式计算 DataWorks 数据管理
DataWorks操作报错合集之使用OSS读取CSV文件到ODPS时遇到报错,一般是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2月前
|
存储 运维 安全
阿里云国际站OSS与自建存储的区别
阿里云国际站对象存储OSS提供海量、安全、低成本的云存储解决方案。相比自建存储,OSS具备易用性强、稳定性高、安全性好、成本更低等优势,支持无限扩展、自动冗余、多层防护及丰富增值服务,助力企业高效管理数据。
|
2月前
|
存储 域名解析 前端开发
震惊!不买服务器,还可以用阿里云国际站 OSS 轻松搭建静态网站
在数字化时代,利用阿里云国际站OSS可低成本搭建静态网站。本文详解OSS优势及步骤:创建Bucket、上传文件、配置首页与404页面、绑定域名等,助你快速上线个人或小型业务网站,操作简单,成本低廉,适合初学者与中小企业。

热门文章

最新文章