O que está sendo referido aqui como um prefixo parece ser uma simplificação excessiva que realmente se refere a cada partição do índice do intervalo. O índice é léxico, portanto, as divisões ocorrem com base nos principais caracteres da chave do objeto. Por isso, é chamado de prefixo .
O S3 gerencia as partições de índice de forma automática e transparente, portanto a definição precisa de um "prefixo" aqui é na verdade um pouco imprecisa: "o que o S3 decidir é necessário para suportar a carga de trabalho do seu bucket". O S3 divide as partições de índice em resposta à carga de trabalho, portanto, dois objetos que podem ter o mesmo "prefixo" hoje podem ter prefixos diferentes amanhã, tudo feito em segundo plano.
Agora, a1 / a -... e a1 / b -... e a1 / c -... podem ser todos um único prefixo. Mas jogue bastante tráfego no balde, e o S3 pode decidir que a partição deve ser dividida, de modo que amanhã, a1 / ae a1 / b- possam estar em um prefixo, enquanto a1 / c- pode estar em seu próprio prefixo. (Isto é, as chaves < a1 / c- estão em uma partição, enquanto as chaves > = a1 / c- estão agora em uma partição diferente).
Onde e quando e especificamente qual limite dispara o comportamento de divisão não é documentado, mas parece estar relacionado apenas ao número de solicitações, e não ao número ou tamanho dos objetos. Anteriormente, essas partições eram limitadas a algumas centenas de solicitações por segundo, e isso aumentou significativamente.