Como listar os maiores itens em um balde S3 a partir do terminal

Conteúdo

Logotipo da AWS

Se você está curioso sobre os maiores itens em um intervalo AWS S3, você pode usar a CLI para imprimir uma lista classificada por tamanho. Isso pode ajudá-lo a localizar objetos excepcionalmente grandes no cubo que podem estar ocupando espaço.

Liste e classifique os itens com o S3 CLI

S3 fornece algumas opções de classificação embutidas nos menus, então, se você está procurando apenas o maior item em uma pasta, você pode simplesmente classificar essa pasta. Apesar disto, se você deseja pesquisar todos os itens independentemente da chave, você precisará fazer isso a partir do AWS CLI. Se você não tem instalado, você pode verificar nosso guia sobre como configurá-lo para configurá-lo.

O comando para listar objetos é bastante simples:

aws s3api list-object-versions --bucket example-bucket

Esta consulta pode demorar um pouco para ser avaliada, já que você está baixando uma lista mestre de todos os objetos e seus metadados, mas você obterá uma matriz JSON contendo uma entrada para cada elemento, como o próximo:

        {
            "ETag": ""04e28fbee1ef2721123bb4e9a78183a895"",
            "Tamanho": 320,
            "StorageClass": "PADRÃO",
            "Chave": "pasta / arquivo.json",
            "VersionId": "fNdwjJRaEjBYUSBgZe51oj_s4ONo5GsL",
            "IsLatest": falso,
            "Última modificação": "2020-11-05T18:59:18+00:00",
            "Proprietário": {
                "Nome em Exibição": "nome do usuário",
                "EU IRIA": "501092a155f88f4d174d7as3d2a347f33b9495f0261434682ab9a"
            }
        }

Para analisar e classificar isso, você pode usar jq – um utilitário fantástico para trabalhar com JSON na linha de comando. Você pode baixá-lo de apt, ainda quando binários também estão disponíveis:

sudo apt-get install jq

Isso torna o comando final o seguinte, ainda vai demorar um pouco para avaliar, mas vai imprimir o 100 maiores itens no armazém:

aws s3api list-object-versions --bucket oxide.rust | jq -r '.Versões[] | "(.Chave)t (.Tamanho)"' | sort -k2 -r -n | cabeça -100

Se você quer mais ou menos itens, você pode alterar o parâmetro de entrada para head comando, que corta todas as N linhas, exceto a primeira.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.