carj/pyPreservica

client.upload_zip_package -> KeyError: 'UploadId'

Closed this issue · 3 comments

Invoking client.upload_zip_package resulted in a KeyError: "UploadId".

The same code worked approx. 3 months ago with a different tenant. I already tried to update PyPreservica (1.5.x -> 1.7) and to update boto3 / s3transfer to latest versions. I also tried with slightly older versions of the Boto packages involved. In all cases I get the KeyError ('UploadId').

Is this a misconfiguration/incorrect usage or might this be a software issue?

carj commented

Hi
This is a known issue in Preservica 6.7, the problem is the S3 multipart upload API. Its not a client side problem.

There are two workarounds you could try until a fix is released, the first is to increase the size of the package before the multipart upload code kicks in.

For example if you think your packages are less than 256MB then you could add the following before the upload.

MB = 1024 * 1024
upload_config().multipart_threshold = 256 * MB

The other option is to upload the packages to an AWS S3 bucket first and use a auto-ingest workflow connected to the bucket.

ie. use upload_zip_package_to_S3()

carj commented

I have been informed that this has now been fixed and will be available in the next Preservica release.

carj commented

This should now be working as the systems have been upgraded to 6.9