tipos servidores servidor precios ec2 dominio costo configurar capacidad calculadora aws almacenamiento amazon-s3 symlink

servidores - ¿Admite Amazon S3 los enlaces simbólicos?



configurar dominio amazon ec2 (2)

Tengo un objeto que me gustaría abordar usando diferentes claves sin copiar el objeto en sí, como un enlace simbólico en Linux. ¿Amazon S3 proporciona tal cosa?


S3 no es compatible con la noción de enlace simbólico, donde una clave de objeto se trata como un alias para una clave de objeto diferente. (Probablemente hayas escuchado esto antes: S3 no es un sistema de archivos. Es una tienda de objetos).

Si está utilizando la característica de alojamiento de sitio web estático, hay una emulación parcial de esta capacidad, con redirecciones a nivel de objeto:

http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html

Esto hace que las solicitudes de "objeto-a" sean recibidas con una respuesta 301 Moved Permanently , con la URL para "object-b" en el encabezado Location: que tiene un propósito similar, pero por supuesto sigue siendo bastante diferente. Solo funciona si la solicitud llega al punto final del sitio web (no al punto final REST).

Si usa un proxy inverso (haproxy, nginx, etc.) en EC2 para manejar las solicitudes entrantes y reenviarlas al cubo, entonces, por supuesto, tiene la opción en la capa de proxy de reescribir la URL de la solicitud antes de reenviarla a S3, por lo que podría traducir la ruta de la solicitud entrante a lo que necesitara presentar a S3. Lo práctico que esto es depende de su aplicación y motivación, pero esta es una de las estrategias que uso para modificar dónde, en un cubo en particular, aparece un objeto, en comparación con el lugar donde realmente está almacenado, lo que me permite reescribir caminos basados ​​en otros atributos en la solicitud


Tenía una pregunta similar y necesitaba una solución, que describo a continuación. Si bien S3 no admite enlaces simbólicos, puede hacerlo de la siguiente manera:

echo "https://s3.amazonaws.com/my.bucket.name/path/to/a/targetfile" > file aws s3 cp file s3://my.bucket.name/file wget $(curl https://s3.amazonaws.com/my.bucket.name/file)

Lo que realmente está haciendo es obtener el contenido del archivo, que en realidad es solo un puntero al archivo objetivo, y luego pasarlo a wget (curl también se puede usar para redirigir a un archivo en lugar de a wget).

Sin embargo, esto es solo una solución, ya que no es un enlace simbólico verdadero, sino una solución creativa para simular enlaces simbólicos.