Tengo un cubo con dos tipos de nombres de archivo:Amazon cambio de nombre S3 y sobrescribir los archivos, recomendaciones y riesgos
[Bucket]/[file]
[Bucket]/[folder]/[file]
Por ejemplo, podría tener:
MyBucket/bar
MyBucket/foo/bar
Quiero cambiar el nombre de todos los archivos [Bucket]/[folder]/[file]
a [Bucket]/[file]
archivos (y por tanto de sobrescribir/descartando los archivos [Bucket]/[file]
).
Así como en el ejemplo anterior, quiero que MyBucket/foo/bar
se convierta en MyBucket/bar
(y sobrescriba/duscard el original MyBucket/bar
).
probé dos métodos:
- Uso de comando de movimiento de s3cmd:
s3cmd mv s3://MyBucket/foo/bar s3://MyBucket/bar
- Utilizando el SDK de Amazon para php:
rename(s3://MyBucket/foo/bar, s3://MyBucket/bar)
Ambos métodos parecen funcionar, pero - teniendo en cuenta que tengo que hacer esto como un proceso por lotes en miles de archivos,
mis preguntas son:
- ¿Qué método es el preferido?
- ¿Hay otros métodos mejores?
- ¿Debo eliminar los archivos anteriores antes de mover/cambiar el nombre? (parece funcionar bien sin él, pero podría no ser consciente de los riesgos involucrados)
Gracias.
¡Hola! También estoy tratando de mover y sobrescribir las carpetas (y sus archivos que residen) en un solo cubo y noté que tenías: cambiar el nombre (s3: // MyBucket/foo/bar, s3: // MyBucket/bar). ¿Cómo funciona esto en PHP? ¿O esa línea solo funciona textualmente en un EC2? – Schodemeiss
@AndyBarlow, he escrito una publicación al respecto en: http://eyalarubas.com/log/2012/10/16/using-aws-s3-stream-wrapper-for-php/. Contáctame si tienes más preguntas. – EyalAr