开发者社区 问答 正文

咨询下阿里云OpenAPI ,只能使用UploadPartCopy)转换存储类型为归档,如何操作?

咨询下阿里云OpenAPI ,需要将存储在OSS上的文件(大于5GB,只能使用UploadPartCopy)转换存储类型为归档,如何操作?官网的文档都是上传文件时设置存储类型,针对已存储在oss上面的文件没有demo,这样配置也没有成功
https://help.aliyun.com/zh/oss/developer-reference/multipart-upload-5#concept-f3c-r55-kfb 6c111ec723d7d5d42d51dc9b99a8b669.png

展开
收起
真的很搞笑 2024-01-04 12:41:55 75 分享 版权
3 条回答
写回答
取消 提交回答
  • 要将存储在OSS上的文件(大于5GB,只能使用UploadPartCopy)转换存储类型为归档,你可以按照以下步骤操作:

    首先,你需要创建一个归档存储类型的Bucket。你可以使用CreateBucket接口创建一个新的Bucket,或者在现有的Bucket中添加归档存储类型。

    然后,你可以使用UploadPartCopy接口将文件的一部分复制到新的Bucket中。你需要指定新的Bucket和新的存储类型。

    重复步骤2,直到所有部分都复制完成。

    最后,你可以使用CompleteMultipartUpload接口将复制的部分组合成一个完整的文件。

    以下是一个使用Python SDK的示例代码:

    import oss2

    替换为你的AccessKeyID、AccessKeySecret、EndPoint、BucketName和ObjectName

    access_key_id = 'your_access_key_id'
    access_key_secret = 'your_access_key_secret'
    endpoint = 'your_endpoint'
    bucket_name = 'your_bucket_name'
    object_name = 'your_object_name'

    创建一个Bucket,存储类型为归档

    bucket = oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name, storage_class=oss2.BUCKET_STORAGE_CLASS_ARCHIVE)

    获取文件的分片列表

    parts = bucket.list_parts(object_name)

    创建一个新的Bucket,存储类型为归档

    new_bucket = oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, 'new_bucket_name', storage_class=oss2.BUCKET_STORAGE_CLASS_ARCHIVE)

    使用UploadPartCopy接口将文件的一部分复制到新的Bucket中

    for part in parts:
    new_bucket.upload_part_copy(object_name, part.part_number, bucket, part.etag)

    使用CompleteMultipartUpload接口将复制的部分组合成一个完整的文件

    new_bucket.complete_multipart_upload(object_name, parts)
    请注意,这个示例代码假设你已经有了一个存储在OSS上的文件,并且你知道文件的分片列表。如果你不知道文件的分片列表,你可以使用ListParts接口获取。

    2024-01-05 15:51:11
    赞同 展开评论
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    针对这种情况,可以进一步进行以下定位:

    1. 检查阿里云OpenAPI的日志和错误信息:查看阿里云OpenAPI的日志文件或错误信息,看是否有任何异常或错误提示。这些信息可能有助于确定问题的根本原因。

    2. 检查网络连接和配置:确保您的网络连接正常,并且没有任何防火墙或代理服务器阻止了对阿里云OpenAPI的访问。您还可以尝试使用其他网络环境或设备来测试是否可以正常调用阿里云OpenAPI。

    3. 联系阿里云技术支持:如果以上步骤都没有解决问题,建议您联系阿里云的技术支持团队。他们可以提供更专业的帮助和指导,帮助您进一步定位和解决问题。

    4. 监控和调试代码:如果您有相关的代码或脚本,可以尝试在出现问题时进行监控和调试。通过打印日志、输出变量等方式,可以帮助您更好地理解问题的发生过程,并找到解决方案。

    2024-01-05 15:32:12
    赞同 展开评论
  • 2024-01-04 13:17:03
    赞同 展开评论