code: def _uploadStream(self, fileName, update=False, encrypt=True):
          
          blob = self.bucket.blob(bytes(fileName), encryption_key=self.sseKey if encrypt else None)
  
          class UploadPipe(WritablePipe):
              def readFrom(self, readable):
                  if not update:
                      assert not blob.exists()
                  blob.upload_from_file(readable)
  
          with UploadPipe() as writable:
              yield writable
docs: Yields a context manager that can be used to write to the bucket
          with a stream. See :class:`~toil.jobStores.utils.WritablePipe` for an example.
  
          Will throw assertion error if the file shouldn't be updated
          and yet exists.
  
          :param fileName: name of file to be inserted into bucket
          :type fileName: str
          :param update: whether or not the file is to be updated
          :type update: bool
          :param encrypt: whether or not the file is encrypted
          :type encrypt: bool
          :return: an instance of WritablePipe.
          :rtype: :class:`~toil.jobStores.utils.writablePipe`