original_docstring: Retrieve person id from request envelope, to use as object key.
  
      This method retrieves the `person id` specific to a voice profile from
      the request envelope if it exists, to be used as an object key. If it
      doesn't exist, then the `user id` is returned instead.
  
      :param request_envelope: Request Envelope passed during skill
          invocation
      :type request_envelope: ask_sdk_model.RequestEnvelope
      :return: person Id retrieved from request envelope if exists, else
          fall back on User Id
      :rtype: str
      :raises: :py:class:`ask_sdk_core.exceptions.PersistenceException`
      
docstring: Retrieve person id from request envelope, to use as object key.
  This method retrieves the `person id` specific to a voice profile from
  the request envelope if it exists, to be used as an object key. If it
  doesn't exist, then the `user id` is returned instead.
docstring_tokens: Retrieve person id from request envelope to use as object key . This method retrieves the ` person id ` specific to a voice profile from the request envelope if it exists to be used as an object key . If it doesn ' t exist then the ` user id ` is returned instead .
code: def person_id_partition_keygen(request_envelope):
      # type: (RequestEnvelope) -> str
      """Retrieve person id from request envelope, to use as object key.
  
      This method retrieves the `person id` specific to a voice profile from
      the request envelope if it exists, to be used as an object key. If it
      doesn't exist, then the `user id` is returned instead.
  
      :param request_envelope: Request Envelope passed during skill
          invocation
      :type request_envelope: ask_sdk_model.RequestEnvelope
      :return: person Id retrieved from request envelope if exists, else
          fall back on User Id
      :rtype: str
      :raises: :py:class:`ask_sdk_core.exceptions.PersistenceException`
      """
      try:
          person_id = request_envelope.context.system.person.person_id
      except AttributeError:
          try:
              person_id = user_id_partition_keygen(
                  request_envelope=request_envelope)
          except PersistenceException:
              raise PersistenceException(
                  "Couldn't retrieve person id or user id from request envelope, "
                  "for partition key use")
      return person_id
code_tokens: def person_id_partition_keygen ( request_envelope ) : try : person_id = request_envelope . context . system . person . person_id except AttributeError : try : person_id = user_id_partition_keygen ( request_envelope = request_envelope ) except PersistenceException : raise PersistenceException ( "Couldn't retrieve person id or user id from request envelope, " "for partition key use" ) return person_id
short_docstring: Retrieve person id from request envelope, to use as object key.
short_docstring_tokens: Retrieve person id from request envelope to use as object key .
comment: # type: (RequestEnvelope) -> str$SEP$"""Retrieve person id from request envelope, to use as object key.
  
      This method retrieves the `person id` specific to a voice profile from
      the request envelope if it exists, to be used as an object key. If it
      doesn't exist, then the `user id` is returned instead.
  
      :param request_envelope: Request Envelope passed during skill
          invocation
      :type request_envelope: ask_sdk_model.RequestEnvelope
      :return: person Id retrieved from request envelope if exists, else
          fall back on User Id
      :rtype: str
      :raises: :py:class:`ask_sdk_core.exceptions.PersistenceException`
      """