尝试使用python / boto3将500个文件上传到S3兼容对象存储时出现错误。
我编写了一个cronjob来检测特定目录中的文件,并将这些文件上传到带有boto3库的S3存储桶中。能够上传400多个文件,并且退出并出现以下错误。我不认为这是一个凭证问题,因为它在此错误之前上载了400多个文件。
boto3.exceptions.S3UploadFailedError:无法将00000432_1081801000_06042019_07042019.pdf上传到as003a / 36437128:调用PutObject操作时发生错误(SignatureDoesNotMatch):我们计算出的请求签名与您提供的签名不匹配。检查您的AWS Secret Access密钥和签名方法。有关更多信息,请参阅REST身份验证和SOAP身份验证以获取详细信息。
# inside a loop of the list of files
if os.path.exists(filename):
totalUploadSize += os.stat(filename).st_size
totalUploadCount += 1
obj = s3.Object('as003a', s3id )
obj.upload_file(filename, ExtraArgs={"Metadata": billMetadata})
os.remove(filename)
即使在430左右的文件中,我也面临着这个问题,我需要让它以每天10批的批量工作10,000次。