全部建议 > 建议详情
  • 预审中
  • 2 预审不通过

【产品缺陷】obs md5上传的check问题反馈 预审不通过 编辑 删除

  • 对象存储服务 OBS
  • 存储

 

问题描述:

obsutil sync 命令我在使用中,遇到情况如下。

第一次上传,我没有添加-vmd5参数,第二次我再同步,但是相同文件仅仅是跳过了。MD5根本没法强制加上去!!!!!

弄得我本地都不敢删除本地这些文件了(除非现在全部重新上传,但时间已经不允许)

 

希望第二次obsutil sync -vmd5 同步后能加上MD5在云,以便check数据,。

我本地带宽有限,传输过来要一个星期,现在这个问题卡得我很难受,由于存储问题需要删本地文件了,但我没法确认云数据是否和本地完全一致 ~~~

 

 

建议方案:

把BUG改进就好,计算md5的资源可以用我自己的机器,但是sync增量同步,MD5属性给我加上去啊!!!!!

Snipaste_2021-07-17_12-59-24.png

wan230114 wan230114 发布于 2021-07-17 12:36:12 2021-07-17

45 2

0%
0人赞同
0%
0人不赞同

全部评论(2

评论(2

  • 【云声小管家】 思雨 2021-07-19 17:03:18

    非常抱歉给您带来这么多不便,关于您提交的建议进行了评估,您反馈的问题,需复现问题场景,建议您可通过提交工单解决,会有专业工程师对接,紧急情况下可以拨打4000-955-988求助客服。
    若有关于华为云产品的功能、用户体验、产品缺陷等建议,可通过云声平台提出,我们会尽快确认后并给您回复。再次感谢您的支持与关注!

  • wan230114 2021-07-17 17:36:21

    我后来参考这篇官方文档提供的SDK(API )文章解决了一半的难题:https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0500.html

    原来obs的云数据对象计算的md5,存储在数据对象的元数据里面,键值为 “md5chksum: xxx-md5-value”,我若想修复云数据对象没有MD5问题的话,可以直接借助API修改数据对象的元数据:

    核心语句如下:
    from obs import ObsClient
    obsClient = ObsClient(
    access_key_id='ak...',
    secret_access_key='sk...',
    server='https://xx.node.xx
    bucketname = 'xxx'
    L_correct = []
    for PATH, MD5_local in L_local_md5:
    Metadata = obsClient.getObjectMetadata(bucketname, PATH)
    MD5_oss = dict(Metadata["header"]).get('md5chksum', 'null')
    MD5_correct = dict(Metadata["header"]).get('md5correct', 'null')
    if MD5_oss != MD5_local:
    resp = obsClient.setObjectMetadata(
    bucketname, PATH,
    metadata={'md5chksum': MD5_local,
    'md5correct': f'{MD5_oss} -- {MD5_local}'})
    L_correct.append([PATH, MD5_local, MD5_oss, MD5_correct])

    这个方法,能解决使用本地数据的MD5贴到云上,但云数据对象的MD5我又该如何确认是否真的是这个MD5呢??

    故此,借助API,我解决了一半的问题。

登录后可评论,请 注册

0/1000

+ 插入图片0/4

仅支持JPG、JPEG、PNG、GIF,数量不超过4张且每张大小不超过2MB

评论
发表评论...
取消 发表

0/1000

评论成功

+ 插入图片0/4

仅支持JPG、JPEG、PNG、GIF,数量不超过4张且每张大小不超过2MB

删除建议

设置昵称

在此一键设置昵称,即可发表云声建议!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。