Hello,
I use the Python SynapseClient (v1.6.1) in my script (which worked till now) to upload files in a synapse folder and I recently get the following error:
```
Uploading [--------------------]0.00% 0.0bytes/27.9MB MyfileXXXXXXXX.CEL.gz Traceback (most recent call last):
File "send_cgh_affy_files_to_synapse.py", line 57, in
synfile=syn.store(synfile)
File ".virtualenvs/safir02/local/lib/python2.7/site-packages/synapseclient/client.py", line 1004, in store
fileSize=local_state.get('fileSize', None))
File ".virtualenvs/safir02/local/lib/python2.7/site-packages/synapseclient/client.py", line 1954, in _uploadToFileHandleService
file_handle_id = multipart_upload(self, filename, contentType=mimetype)
File ".virtualenvs/safir02/local/lib/python2.7/site-packages/synapseclient/multipart_upload.py", line 212, in multipart_upload
**kwargs)
File ".virtualenvs/safir02/local/lib/python2.7/site-packages/synapseclient/multipart_upload.py", line 327, in _multipart_upload
mp.map(chunk_upload, url_generator)
File "/usr/lib/python2.7/multiprocessing/pool.py", line 251, in map
return self.map_async(func, iterable, chunksize).get()
File "/usr/lib/python2.7/multiprocessing/pool.py", line 567, in get
raise self._value
KeyError: u'Expires'
```
Would you have an idea of the problem?
Thanks for help.
Kevin.
Created by Kevin Tran k.tran Thank you so much for your cogent response :) Hello,
The backend has been patched (version '161.1-3-g9bfb299') and I'm able to upload using the Python client again.
Please let us know if you still have any problem.
Sorry for the inconvenience and thank you for your patience!
Xa Hi, thanks. We are looking forward the update. An update: We are in the process of releasing a new version of the Synapse backend to fix the issue. Once released the python/command line clients should start work without any changes on your part.
Summary of issue: Synapse is updated on a weekly basis, usually on Sunday evening/night with both the web front end and backend services being updated. In the release that happened yesterday there were some changes to how Synapse interacts with Amazons S3 service which is where Synapse stores most files. The Python client was dependent on how Amazon was returning information which had been changed by Amazon between versions of their tools. This caused the Python client to fail when it tried to extract this information. Specifically it was trying to extract the expiration time of temporary signed URLs where files are uploaded. In the newest version of the tools this information was not returned with the signed URL.
Other changes: We will also release an update to the Python client in the next few days to prevent this kind of issue in the future by removing any dependencies on the type of information returned by Amazon URLs.
Happened to me too Hi Kevin:
Thank you for the heads up. We are currently looking into and correcting this.
Best,
Larsson
Drop files to upload
Python SynapseClient KeyError: u'Expires' page is loading…