def get_file_properties(self, share_name, directory_name, file_name, timeout=None, snapshot=None):
_validate_not_none('<STR_LIT>', share_name)<EOL>_validate_not_none('<STR_LIT>', file_name)<EOL>request = HTTPRequest()<EOL>request.method = '<STR_LIT>'<EOL>request.host_locations = self._get_host_locations()<EOL>request.path = _get_path(share_name, directory_name, file_name)<EOL>request.query = { '<STR_LIT>': _int_to_str(timeout), '<STR_LIT>': _to_str(snapshot)}<EOL>return self._perform_request(request, _parse_file, [file_name])<EOL>
Returns all user-defined metadata, standard HTTP properties, and
system properties for the file. Returns an instance of :class:`~azure.storage.file.models.File` with
:class:`~azure.storage.file.models.FileProperties` and a metadata dict.

:param str share_name:
    Name of existing share.
:param str directory_name:
    The path to the directory.
:param str file_name:
    Name of existing file.
:param int timeout:
    The timeout parameter is expressed in seconds.
:param str snapshot:
    A string that represents the snapshot version, if applicable.
:return: a file object including properties and metadata.
:rtype: :class:`~azure.storage.file.models.File`