当使用S3作为文件存储时,如何克服错误“您建议的上传超过最大允许大小”?

穆罕默德Kashif
2023-01-22 11:09

当使用S3作为文件存储时,可能会有一个巨大的文件上传失败,Artifactory将记录以下错误:[jfrt] [ERROR] [bdc07b2dbfb0ee42] [.c.]EventualDownstreamWorker:74][-集群-s3-worker-2] - EventualDownstreamWorker在sha1 801dae099bb63dbf4be20a3d9daab7248f747eda操作时捕获错误:
com.amazonaws.services.s3.model。异常:您建议上传的文件超过了允许的最大大小(服务:AmazonS3;状态码:400;错误代码:entitytoolage;请求ID: CCA93A72B1AEA873;S3扩展请求ID: OPiD1kYBrpe4lFmg5Dv4MWGX4B8qaXFXB9t0JMCbC8mJYAuB8zsEwqxavEfoo/2xvKyLwoLYfeE=)
二进制文件将被卡在最终目录中,永远不会上传到S3。

问题的原因是大多数时候如果在binarstore .xml中使用参数< usepresing>,这个< usepresing>参数当设置为“true”时将限制要上传到S3的对象的最大大小在5GB以下,参考这个Amazon文档您可以在这里找到更多关于Amazon S3官方SDK模板的信息Wiki页面

然而,当< usepresing>设置为false时,“multiPartLimit”文件大小阈值(以字节为单位)超过该阈值时,文件上传将被分块和多线程,这将允许使用多部分上传以部分方式上传对象,并且应该将巨大的文件大小上传到S3。
要上传大于5GB的文件,请将binarstore .xml文件中的< usepresing>设置为falseJFROG_HOME美元/ artifactory / var / etc / artiafctory / binarystore.xml对于Artifactory v7。x和美元ARTIFACTORY_HOME / etc / binarystore.xml为Artifactory v6。x, do a rolling restart of the cluster, and perform the upload again.