Este guia explica como definir cabeçalhos para objetos do S3 usando s3cmd e aws s3api. Isso é útil para gerenciar cache, adicionar metadados personalizados e otimizar o gerenciamento de dados no bucket.
Vá até a seção Armazenamento S3 e clique no bucket.
Na aba Objetos, clique nos três pontos ao lado do objeto e selecione Editar metadados.

Adicione os cabeçalhos necessários.
Para configurar um cabeçalho personalizado, clique em Adicionar.

Outra forma de configurar cabeçalhos é usar utilitários como s3cmd ou s3api.
Para definir um cabeçalho para um objeto específico, use o comando s3cmd modify. Por exemplo, para adicionar um cabeçalho Cache-Control a um objeto específico:
s3cmd modify s3://<bucket_name>/<object_name> --add-header="cache-control:max-age=7000"
Nesse caso, o objeto receberá o cabeçalho Cache-Control com o parâmetro max-age=7000, instruindo navegadores ou servidores proxy a armazenar o objeto em cache por 7000 segundos.
Para definir cabeçalhos para todos os objetos em um bucket, você pode usar a opção --recursive para aplicar as alterações a todos os arquivos:
s3cmd modify --recursive s3://<bucket_name> --add-header="cache-control:max-age=7001"
Esse comando adiciona recursivamente o cabeçalho Cache-Control com o valor max-age=7001 a todos os objetos no bucket.
Para adicionar cabeçalhos personalizados, use o comando s3cmd modify com o prefixo x-amz-meta:
s3cmd modify s3://<bucket_name>/<object_name> --add-header="x-amz-meta-test-header:test"
Isso cria um cabeçalho personalizado x-amz-meta-test-header com o valor test. Nos metadados do objeto, o cabeçalho aparecerá sem o prefixo x-amz-meta-, resultando em:
"Metadata": {
"test-header": "test"
}
Isso permite armazenar dados adicionais no objeto, o que pode ser útil para processamento ou registro de logs.
Para verificar os cabeçalhos, use o comando aws s3api head-object. Isso garante que todos os cabeçalhos e metadados foram adicionados com sucesso:
aws s3api head-object --bucket <bucket_name> --key <object_name> --endpoint-url https://s3.hmstorage.net
O comando retornará informações sobre o objeto, incluindo seus metadados e cabeçalhos, permitindo confirmar que as alterações foram aplicadas corretamente.