client-side join chunks for GCS

Boto does not implement GCS's custom multipart API and so we're left to
join them client-side until it does.
This commit is contained in:
Jimmy Zelinskie 2015-10-02 14:57:39 -04:00
parent 1cf930eb9c
commit 9ddad4a1a9

View file

@ -471,6 +471,15 @@ class GoogleCloudStorage(_CloudStorage):
return key.size
def complete_chunked_upload(self, uuid, final_path, storage_metadata):
self._initialize_cloud_conn()
# Boto does not support GCS's multipart upload API because it differs from S3, so
# we are forced to join it all locally and then reupload.
# See https://github.com/boto/boto/issues/3355
chunk_list = self._chunk_list_from_metadata(storage_metadata)
self._client_side_chunk_join(final_path, chunk_list)
class RadosGWStorage(_CloudStorage):
def __init__(self, hostname, is_secure, storage_path, access_key, secret_key, bucket_name):