code: def get_attributes(self, request_envelope):
          # type: (RequestEnvelope) -> Dict[str, object]
          
          try:
              table = self.dynamodb.Table(self.table_name)
              partition_key_val = self.partition_keygen(request_envelope)
              response = table.get_item(
                  Key={self.partition_key_name: partition_key_val},
                  ConsistentRead=True)
              if "Item" in response:
                  return response["Item"][self.attribute_name]
              else:
                  return {}
          except ResourceNotExistsError:
              raise PersistenceException(
                  "DynamoDb table {} doesn't exist or in the process of "
                  "being created. Failed to get attributes from "
                  "DynamoDb table.".format(self.table_name))
          except Exception as e:
              raise PersistenceException(
                  "Failed to retrieve attributes from DynamoDb table. "
                  "Exception of type {} occurred: {}".format(
                      type(e).__name__, str(e)))
docs: Get attributes from table in Dynamodb resource.
  
          Retrieves the attributes from Dynamodb table. If the table
          doesn't exist, returns an empty dict if the
          ``create_table`` variable is set as True, else it raises
          PersistenceException. Raises PersistenceException if `get_item`
          fails on the table.
  
          :param request_envelope: Request Envelope passed during skill
              invocation
          :type request_envelope: ask_sdk_model.RequestEnvelope
          :return: Attributes stored under the partition keygen mapping
              in the table
          :rtype: Dict[str, object]
          :raises: :py:class:`ask_sdk_core.exceptions.PersistenceException`