Если вы знаете, как вы хотите отсортировать кортеж (stars, fork), вы можете сериализовать его в соответствующую строку и использовать его в качестве ключа сортировки.
В вашем случае вы сказали :
Я хочу вернуть топ-10 github_repositories по звездам и вилкам. Скажем, если два элемента имеют одинаковые звезды, я использую вилки в качестве прерывателя t ie при сортировке.
Так что, если «звезды» - это числа от 0 до 9, а «вилки» (? ) также от 0 до 9, вы просто соединяете два числа вместе, чтобы получить одну строку. Или возьмите 10-значный номер, если вы хотите обратную сортировку (сначала самые высокие звезды). Например, предмет с 3 звездами и 6 вилками получит строку «74». Если один элемент имеет больше звездочек, чем другой, он будет первым в порядке сортировки. Если два предмета имеют одинаковые звезды, то первым должен быть предмет с большим количеством вилок. Как вам требуется.
Если значения ваших звездочек и вилок различны или ваши требования к сортировке различны, детали будут другими - но во многих случаях вы можете найти способ кодировать то, что вы хотите отсортировать в одну строку, которую DynamoDB может отсортировать лексикографически.