Recomendaciones para implementar la API DE REST de Swift
Debe seguir estas recomendaciones al implementar la API DE REST de Swift para usar con StorageGRID.
Recomendaciones para las cabezas a los objetos no existentes
Si su aplicación comprueba de forma rutinaria si existe un objeto en una ruta en la que no espera que el objeto exista realmente, debe utilizar el control de consistencia "'disponible'". Por ejemplo, debe utilizar el control de coherencia "'disponible'" si la aplicación realiza una OPERACIÓN HEAD a una ubicación antes de realizar una operación PUT en esa ubicación.
De lo contrario, si la operación HEAD no encuentra el objeto, es posible que reciba un número elevado de 500 errores internos de Server si uno o más nodos de almacenamiento no están disponibles.
Puede establecer el control de coherencia "'disponible'" para cada contenedor utilizando la solicitud DE consistencia DEL contenedor PUT.
Recomendaciones para los nombres de objetos
No debe utilizar valores aleatorios como los primeros cuatro caracteres de nombres de objetos. En su lugar, debe utilizar prefijos no aleatorios y no únicos, como la imagen.
Si necesita utilizar caracteres aleatorios y únicos en prefijos de nombres de objetos, debe asignar un prefijo a los nombres de objetos con un nombre de directorio. Es decir, utilice este formato:
mycontainer/mydir/f8e3-image3132.jpg
En lugar de este formato:
mycontainer/f8e3-image3132.jpg
Recomendaciones para «lecturas de rango»
Si se selecciona la opción Compress Stored Objects (Configuración > Configuración del sistema > Opciones de cuadrícula), las aplicaciones cliente Swift deberían evitar realizar operaciones GET object que especifiquen un rango de bytes. Estas operaciones de «lectura de rango» son ineficientes, ya que StorageGRID debe descomprimir de forma efectiva los objetos para acceder a los bytes solicitados. LAS operaciones GET Object que solicitan un rango pequeño de bytes de un objeto muy grande son especialmente ineficientes; por ejemplo, es muy ineficiente leer un rango de 10 MB de un objeto comprimido de 50 GB.
Si se leen rangos de objetos comprimidos, las solicitudes del cliente pueden tener un tiempo de espera.
Si necesita comprimir objetos y su aplicación cliente debe utilizar lecturas de rango, aumente el tiempo de espera de lectura de la aplicación. |