Por que devo usar metadados ao colocar objetos em AWS S3?

In AWS SDK for PHP v3 the method putObject can receive many parameters like ContentType, ContentEncoding, etc.

na sua forma mais simples , Posso colocar um objecto usando apenas Bucket, Key e SourceFile:

$result = $s3->putObject(array(
    'Bucket'       => $bucket,
    'Key'          => $keyname,
    'SourceFile'   => $filepath
));

Considerando que o meu aplicativo vai inserir fotos e eles devem ficar em S3 até eu mandar apagá - lo, quais são os prós e contras de colocar metadados neles, como ContentType, ContentEncoding e outros?

Será a forma mais simples apenas passagem Bucket, Key e ir aos meus objectivos?

Author: HappyTown, 2017-02-09

2 answers

Será que a forma mais simples de passar só balde, chave e Ficheiro de origem vai cumprir os meus objectivos?

A resposta é Sim {[5] } irá servir o seu propósito, mas se usar metadados então poderá ter mais controlo sobre o seu objecto.

De acordo com a documentação AWS sobre metadados de objectos,

Existem dois tipos de Meta-dados:
  • Meta-dados do sistema : Os meta-dados, como a data de criação do objecto, a última modificação, o tamanho do conteúdo, são controlados pelo sistema quando apenas Amazon S3 pode modificar o valor.

  • Meta-dados definidos pelo Utilizador : poderá definir/modificar a informação opcional como um par de valor-nome (valor-chave) quando enviar um pedido de PUT ou de publicação para criar o objecto e poderá apanhá-los também no futuro.

Caso De Utilização:

Se você tem seu balde configurado como um site, às vezes você pode deseja redirecionar um pedido de página para outra página ou uma URL externa. Em neste caso, uma página web é um objeto em seu balde. Lojas Amazon S3 a página redirecciona o valor como meta-dados do sistema cujo valor você controla. Quando criar objectos, poderá configurar os valores deste sistema itens de metadados ou actualizar os valores

Para mais informações sobre Meta-dados do objecto,

Http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#object-metadata

 3
Author: Always Sunny, 2017-02-09 15:24:42

Tem metadados do sistema e metadados do utilizador.

Só podes usar o bucket e o nome da chave. No entanto, dependendo de sua lógica de Aplicação usuário-metadados vem a calhar em vários casos. Por exemplo, você pode adicionar informações extras, como o nome de usuário da pessoa que carregou a versão original do arquivo. No entanto, esteja ciente das limitações e não exagere.

O cabeçalho PUT request está limitado a 8 KB em tamanho. No âmbito do pedido apresentado header, os metadados definidos pelo utilizador estão limitados a 2 KB em tamanho. O tamanho dos metadados definidos pelo Utilizador é medido pela soma do número de bytes na codificação UTF-8 de cada chave e valor.

 2
Author: gkatzioura, 2020-04-30 19:08:32