docs: def create_object(self, bucket, key):
          """Create a new object.
  
          :param bucket: The bucket (instance or id) to get the object from.
          :param key: The file key.
          :returns: A Flask response.
          """
          # Initial validation of size based on Content-Length.
          # User can tamper with Content-Length, so this is just an initial up
          # front check. The storage subsystem must validate the size limit as
          # well.
          stream, content_length, content_md5, tags = \
              current_files_rest.upload_factory()
  
          size_limit = bucket.size_limit
          if content_length and size_limit and content_length > size_limit:
              desc = 'File size limit exceeded.' \
                  if isinstance(size_limit, int) else size_limit.reason
              raise FileSizeError(description=desc)
  
          with db.session.begin_nested():
              obj = ObjectVersion.create(bucket, key)
              obj.set_contents(
                  stream, size=content_length, size_limit=size_limit)
              # Check add tags
              if tags:
                  for key, value in tags.items():
                      ObjectVersionTag.create(obj, key, value)
  
          db.session.commit()
          return self.make_response(
              data=obj,
              context={
                  'class': ObjectVersion,
                  'bucket': bucket,
              },
              etag=obj.file.checksum
          )