开发者社区 > 云原生 > Serverless > 正文

函数计算,云函数 上传 oss 桶 这个psot 限制 5g 要怎么处理的 。 {'status

函数计算,云函数 上传 oss 桶 这个psot 限制 5g 要怎么处理的 。

{'status': 400, 'x-oss-request-id': '64B509DF1F7B1F3631F7A590', 'details': {'Code': 'InvalidArgument', 'Message': 'Post body size must be less than 5G.'

展开
收起
云原生那些事 2023-07-25 16:25:49 172 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    可以采用以下方法处理:

    分块上传: 分割文件为多块,分别上传
    可以使用OSS SDK的分块上传接口,将文件分割为多块,每个块小于5GB。

    然后分别上传每个块,最后完成分块上传。

    临时授权:使用临时授权上传OSS
    我们可以给函数计算提供一个临时授权Token,指定超过5GB的限制。

    然后函数使用这个Token上传文件到OSS。

    在函数代码中:

    python
    Copy
    import oss2

    使用临时授权TOKEN

    bucket = oss2.Bucket(oss_endpoint, oss_access_key, oss_access_secret, token=temp_token)

    上传文件

    bucket.put_object(object_name, local_file_name)
    使用回调函数:
    上传文件至业务OSS。上传完成后触发函数计算函数作为回调。

    在回调函数中,读取下载业务OSS文件,再上传至存储OSS中。

    以上3种方法均可实现在函数计算中超过5GB限制上传OSS的需求。

    2023-07-28 23:19:40
    赞同 展开评论 打赏
  • 如果您在函数计算中使用云函数来上传大于5GB的文件到 OSS 桶时遇到了限制,可以尝试以下解决方案:

    1. 分片上传:将大文件拆分成多个较小的分片,然后使用分片上传的方式将这些分片逐个上传到 OSS 桶。您可以使用 OSS 提供的分片上传 API 完成此操作。这样做有助于避免单个请求超过 5GB 的限制。

    2. 断点续传:在分片上传的基础上,实现断点续传功能。即使上传过程中出现意外中断,也能够从上次中断的地方继续上传。通过记录已成功上传的分片信息,可以减少重复上传和减轻网络负担。

    3. 增加函数并发度:如果您的函数计算服务允许调整函数的并发度设置,可以尝试增加函数的并发度。提高函数的并发处理能力可以更快地完成分片上传,并且可以同时处理多个上传任务。

    4. 优化上传速度:可以考虑使用多线程或并行处理的方式来加快上传速度。通过使用并发上传或者使用多个函数实例来同时上传不同的文件分片,可以提高整体的上传效率。
      \

    2023-07-27 23:01:13
    赞同 展开评论 打赏
  • 可以在语言配置里设置

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-07-26 09:36:04
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 热门讨论

    热门文章

    相关电子书

    更多
    OSS运维进阶实战手册 立即下载
    《OSS运维基础实战手册》 立即下载
    OSS运维基础实战手册 立即下载