开发者社区 > 云效DevOps > 正文

云效使用OSS上传还是会报函数入参太大,怎么处理?

云效使用OSS上传还是会报函数入参太大,怎么处理?

展开
收起
三分钟热度的鱼 2023-06-13 17:38:45 105 0
2 条回答
写回答
取消 提交回答
  • 不断追求着最新的技术和趋势,在云技术的世界里,我不断寻找着新的机会和挑战,不断挑战自己的认知和能力。

    如果您在使用云效上传文件到OSS时遇到了函数入参太大的问题,可能是由于您上传的文件大小超过了OSS API的限制。根据OSS API文档,个文件上传的最大大小为5GB,如果您上传的文件超过了这个限制,就会出现函数入参太大的错误。

    为解决这个问题,您可以考虑使用分片上传的方式将大文件分成多个小块进行上传。OSS提供了分片上传的API,可以帮助您将大文件分成多个小块进行上传,并在上传完成后将这些小块合并成一个完整的文件。使用分片上传的方式可以避免函数入参太大的问题,并且可以提高上传的效率和稳定性。

    以下是使用Python SDK进行OSS分片上传的示例代码:

    import oss2
    
    # 初始化OSS客户端
    auth = oss2.Auth('<your-access-key-id>', '<your-access-key-secret>')
    bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<your-bucket-name>')
    
    # 分片上传文件
    object_name = '<your-object-name>'
    filename = '<your-local-file>'
    chunk_size = 1024 * 1024  # 每个分片的大小,单位为字节
    total_size = os.path.getsize(filename)  # 文件总大小,单位为字节
    upload_id = bucket.init_multipart_upload(object_name).upload_id  # 初始化分片上传
    
    # 上传分片
    parts = []
    part_number = 1
    with open(filename, 'rb') as f:
        while True:
            data = f.read(chunk_size)
            if not data:
                break
            part = bucket.upload_part(object_name, upload_id, part_number, data)
            parts.append(oss2.models.PartInfo(part_number, part.etag))
            part_number += 1
    
    # 完成分片上传
    bucket.complete_multipart_upload(object_name, upload_id, parts)
    

    在上面的代码中,我们首先使用OSS Python SDK初始化了一个OSS客户端,并使用init_multipart_upload方法初始化了一个分片上传任务。然后,我们将文件分成多个小块,并使用upload_part方法上传每个小块。上传完成后,我们使用complete_multipart_upload方法将所有小块合并成一个完整的文件。

    希望这个示例代码能够帮助您使用分片上传的方式解决云效上传文件到OSS时出现函数入参太大的问题。

    2023-06-15 23:48:54
    赞同 展开评论 打赏
  • 那这个没有办法,这个是FC那边的限制,您看使用这个serverless Devs可以吗,lQLPJxGaZOWoU6bNAwzNBcqwM7KeMoVzS6MEd-bBLQAMAA_1482_780.png 此回答整理自钉群“云效交付域答疑群”

    2023-06-13 17:45:52
    赞同 展开评论 打赏

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

热门讨论

热门文章

相关电子书

更多
云效助力企业软件供应链生产效能提升 立即下载
云效 DevOps 客户案例集(公共云) 立即下载
云效专有云服务手册下载(2019最新版) 立即下载