• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Yiso1573
V2EX  ›  程序员

有对阿里云 OSS 比较熟悉的同学吗?请教个上传(或者叫数据迁移)的问题

  •  
  •   Yiso1573 · Feb 20, 2020 · 5464 views
    This topic created in 2451 days ago, the information mentioned may be changed or developed.

    目的是要把一批图片(几百万张)上传到 oss 上去
    图片在客户的服务器(境外)上,客户只提供了图片的下载链接
    想问有什么好的方式搬到我们自己的 OSS 上去吗?

    目前在阿里上了解到的是有个 HTTP HTTPS 源迁移 可以实现,但是有些繁琐。

    Supplement 1  ·  Feb 20, 2020

    感谢各位同学的建议,收集到的方法大概就三种:

    1.拉取到本地再上传

    这个方式我一开始有尝试,但是客户的服务器在境外的原因导致下载速度慢和网络中断的原因,我就暂时放弃了这个方法 (没有可以用的代理)

    2.和客户沟通,copy到硬盘

    估计他们也麻烦,是个中间商。沟通反馈也不是特别积极

    3.直接将网络资源迁移至OSS https://help.aliyun.com/document_detail/95134.html

    这个是我目前在尝试的方式,类似于离线下载,在公测需要白名单审核。还是不行的话就只有吭哧吭哧走第一种方式咯。

    20 replies  •  2020-02-21 14:02:05 +08:00
    opengps
    opengps
    Feb 20, 2020
    1
    临时打开公共写入权限。(选项叫:公共读写)
    可以写代码遍历上传
    还有个 OSS 客户端工具你可以参考下,我没试过最大能同时选择多少文件
    fub2020
    fub2020
    Feb 20, 2020 via iPhone
    2
    换个思路,和客户商量 UPS 一个硬盘进来
    smy14520
    smy14520
    Feb 20, 2020
    3
    oss 有个离线下载吧, 每次 5000 个
    Kamitora
    Kamitora
    Feb 20, 2020
    4
    用 OSS SDK 写个程序上传。
    realpg
    realpg
    Feb 20, 2020
    5
    源文件在自有服务器上
    还是在第三方存储服务器上?
    cs3230524
    cs3230524
    Feb 20, 2020
    6
    写个程序自己传啊,爬虫会不会
    yuanhego
    yuanhego
    Feb 20, 2020
    7
    1.如果能接受 ossutil 直接上传的速度就直接搞。
    2.其他办法可以考虑先传到 AWS S3,然后再迁移回 OSS。
    3.或者和客户沟通,直接从他们服务器 copy 到你们硬盘,算单张图片平均 2MB 的话,500w 张大概 10TB 左右,1 ~ 2 块硬盘直接存储好,带回国内找个阿里云 OSS 同区域的机房,选择直接用 ossutil 上传。
    4.其他方案,看有木有阿里云的能够有更好方案了。
    optional
    optional
    Feb 20, 2020 via iPhone
    8
    oss 有 命令行工具,同步上传都有。
    但是有时候可能不太方便,比如中断后重新开始,不如先把文件列表导出 txt 然后分批上传
    yuanhego
    yuanhego
    Feb 20, 2020
    9
    ossutil 可能不适合,就自己写程序转储吧,哈哈
    Carbule
    Carbule
    Feb 20, 2020
    10
    之前有遇到同样的问题,然后选择自己根据用 oss sdk 写了个程序上传
    wafm
    wafm
    Feb 20, 2020
    11
    老老实实做个 API 上传吧 我也迁移过 没别的办法
    liaoberlin
    liaoberlin
    Feb 20, 2020 via iPhone
    12
    买一台阿里云的机器 好像是要跟 OSS 同一地区的 因为不同地区的属于外网流量是需要钱的 然后写一个脚本在阿里云机器上运行 一边从客户服务器下载一边上传到 OSS 各种需要的 SDK 都有的
    mangoDB
    mangoDB
    Feb 20, 2020
    13
    考虑一下 BOS ?有个数据迁移的功能,只需要提供资源的 URL 即可。
    duhongle
    duhongle
    Feb 20, 2020
    14
    是不是可以吧 OSS 挂载到 ECS 中,然后在 ECS 中写个爬虫 批量获取,存到挂载盘中。。。
    oss 支持挂载到虚拟主机及本地。。。
    OSSFS 将 OSS bucket 挂载到本地文件系统及注意事项
    https://yq.aliyun.com/articles/386980?spm=5176.10695662.1996646101.searchclickresult.6be73e7bAKvfOh&aly_as=omox5VVT
    RyanOne
    RyanOne
    Feb 20, 2020
    15
    楼上+1 , oss 可以直接挂载 然后写个 shell 拷贝过来
    PEPEXXX
    PEPEXXX
    PRO
    Feb 21, 2020 via iPhone
    16
    阿里云有个数据迁移服务,可以从任意源迁入 OSS,应该能满足你这个需求。把数据源配置好之后启动任务,放一个晚上差不多就好了,主要看你数据量有多少。我们用过好几次了,方便并且也没啥毛病,重点是免费,一毛不要。唯一的缺点就是要提工单开通一下。
    ganymedenil590
    ganymedenil590
    Feb 21, 2020 via Android
    17
    弄台香港的机器自己写一个转存工具 反正我是这么干 8T 数据的
    hosaos
    hosaos
    Feb 21, 2020
    18
    最好就是买阿里云香港服务器去下载境外图片,然后传 OSS,这样是最快的
    DavidNineRoc
    DavidNineRoc
    Feb 21, 2020
    19
    OSS 貌似有一个 fetch 功能,你把 URL 提供,会自动去拉取。
    DavidNineRoc
    DavidNineRoc
    Feb 21, 2020
    20
    看错了,是七牛才有
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1709 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 15:58 · PVG 23:58 · LAX 07:58 · JFK 10:58
    ♥ Do have faith in what you're doing.