У меня есть ведро с двумя типами имен файлов:амазонка s3 переименование и перезапись файлов, рекомендации и риски
[Bucket]/[file]
[Bucket]/[folder]/[file]
К примеру, я мог бы иметь:
MyBucket/bar
MyBucket/foo/bar
Я хочу, чтобы переименовать все файлы в [Bucket]/[folder]/[file]
[Bucket]/[file]
файлов (и, таким образом перезапись/отбрасывания [Bucket]/[file]
файлов).
Так, как и в предыдущем примере, я хочу, чтобы MyBucket/foo/bar
стал MyBucket/bar
(и перезаписать/открыть оригинал MyBucket/bar
).
Я попробовал два метода:
- Использование команды перемещения s3cmd в:
s3cmd mv s3://MyBucket/foo/bar s3://MyBucket/bar
- Использование SDK Амазонки для PHP:
rename(s3://MyBucket/foo/bar, s3://MyBucket/bar)
Оба метода, кажется, работают, но - учитывая, что я должен сделать это как пакетный процесс на тысячах файлов,
мои вопросы:
- Какой способ является предпочтительным?
- Есть ли другие лучшие методы?
- Должен ли я удалять старые файлы до перемещения/переименования? (кажется, что он работает без него, но я мог не знать о рисках)
Спасибо.
Здравствуйте! Я также пытаюсь переместить и перезаписать папки (и их файлы) в одном ведро, и я заметил, что у вас было: rename (s3: // MyBucket/foo/bar, s3: // MyBucket/bar). Как это работает в PHP? Или эта строка просто работает дословно на EC2? – Schodemeiss
@ AndyBarlow, я написал сообщение об этом в: http://eyalarubas.com/log/2012/10/16/using-aws-s3-stream-wrapper-for-php/. Свяжитесь со мной, если у вас есть еще вопросы. – EyalAr