Skip to main content
Uma versão mais recente deste produto está disponível.
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Recomendações para a implementação da API REST do S3

Colaboradores

Você deve seguir estas recomendações ao implementar a API REST do S3 para uso com o StorageGRID.

Recomendações para heads to non-existent objects

Se seu aplicativo verifica rotineiramente para ver se um objeto existe em um caminho onde você não espera que o objeto realmente exista, você deve usar o controle de consistência ""disponível"". Por exemplo, você deve usar o controle de consistência "disponível" se seu aplicativo dirigir um local antes DE COLOCÁ-lo.

Caso contrário, se a operação PRINCIPAL não encontrar o objeto, você poderá receber um número alto de 500 erros de servidor interno se um ou mais nós de storage não estiverem disponíveis.

Você pode definir o controle de consistência "'disponível'" para cada bucket usando a solicitação de consistência do PUT Bucket, ou você pode especificar o controle de consistência no cabeçalho da solicitação para uma operação de API individual.

Recomendações para chaves de objeto

Para buckets criados no StorageGRID 11,4 ou posterior, não é mais necessário restringir nomes de chaves do objeto para atender às práticas recomendadas de desempenho. Por exemplo, agora você pode usar valores aleatórios para os primeiros quatro carateres de nomes de chave de objeto.

Para buckets que foram criados em versões anteriores ao StorageGRID 11,4, continue seguindo estas recomendações para nomes de chaves de objeto:

  • Você não deve usar valores aleatórios como os primeiros quatro carateres de chaves de objeto. Isso contrasta com a antiga recomendação da AWS para prefixos-chave. Em vez disso, você deve usar prefixos não aleatórios e não exclusivos, como image .

  • Se você seguir a antiga recomendação da AWS para usar carateres aleatórios e exclusivos em prefixos de chave, você deve prefixar as chaves de objeto com um nome de diretório. Ou seja, use este formato:

    mybucket/mydir/f8e3-image3132.jpg

    Em vez deste formato:

    mybucket/f8e3-image3132.jpg

Recomendações para "leituras de intervalo"

Se a opção Compress Stored Objects estiver selecionada (Configuration Grid Options), os aplicativos cliente S3 devem evitar executar operações GET Object que especificem um intervalo de bytes serão retornados. Essas operações de leitura de intervalo são ineficientes porque o StorageGRID deve descompactar efetivamente os objetos para acessar os bytes solicitados. As operações GET Object que solicitam um pequeno intervalo de bytes de um objeto muito grande são especialmente ineficientes; por exemplo, é muito ineficiente ler um intervalo de 10 MB de um objeto compactado de 50 GB.

Se os intervalos forem lidos a partir de objetos compatados, as solicitações do cliente podem expirar.

Observação Se você precisar compactar objetos e seu aplicativo cliente precisar usar leituras de intervalo, aumente o tempo limite de leitura para o aplicativo.
Informações relacionadas

"Controles de consistência"