'Sets an object\'s metadata.  The object\'s metadata will be overwritten
by the values in the metadata dict.
:param account: The object\'s account.
:param container: The object\'s container.
:param obj: The object.
:param metadata: Dict of metadata to set.
:param metadata_prefix: Prefix used to set metadata values in headers
of requests, used to prefix keys in metadata
when setting metadata, defaults to \'\'.
:param acceptable_statuses: List of status for valid responses,
defaults to (2,).
:raises UnexpectedResponse: Exception raised when requests fail
to get a response with an acceptable status
:raises Exception: Exception is raised when code fails in an
unexpected way.'

def set_object_metadata(self, account, container, obj, metadata, metadata_prefix='', acceptable_statuses=(2,)):

    path = self.make_path(account, container, obj)
    self._set_metadata(path, metadata, metadata_prefix, acceptable_statuses)
