Göründüğü kadar basit, olağanüstü karmaşık bir görev gibi görünüyor.S3'teki bir paketteki bir klasörü nasıl yeniden adlandırırsınız?
cevap
Eğer aws-s3 gemini kullanıyorsanız, şu kod BREKET_NAME ürün grubundaki OLD_FOLDER_NAME klasörünü NEW_FOLDER_NAME olarak yeniden adlandırır:
bsize = OLD_FOLDER_NAME.size
bucket = AWS::S3::Bucket.find(BUCKET_NAME)
bucket.objects({:prefix=>OLD_FOLDER_NAME}).each do |o|
AWS::S3::S3Object.rename(o.key, NEW_FOLDER_NAME + o.key[bsize..-1], BUCKET_NAME)
end
İşte bu kadar. Klasörler gerçek nesneler değildir, bu nedenle tek yapmanız gereken yeni yolun o belirli yolunda yer alan tüm nesneleri yeniden adlandırmaktır. Sonuç olarak sanal klasör yeniden adlandırılacaktır.
Bu, klasörü yeniden adlandırır, ancak klasörün içeriği herkese açıksa, yeniden adlandırılırken bu izinler kaybolur. – jpwynn
, rename() için 4. parametre olarak açık izni ekledi izinleri ayarlar: access =>: public_read olsa da yeniden adlandırma sırasında izinleri korumanın bir yolu vardır – jpwynn
BucketExplorer'ı Kullanın! Bu harika bir uygulama! Anlayacağınız her şeyi çok daha kolay bir şekilde gerçekleştirebilirsiniz. GUI
Açıkçası, fikirler için hala açığım ama bu, bulduğum en iyi seçenekdi. – Trip
Bu çözümün, bir klasörün yeniden adlandırılması için sistem düzeyindeki değişikliklerin birçoğunu tanıtan Java7'nin yüklenmesini gerektirmediği gerçeğini kabul etmemiştim. Çok kötü onlar büyük bir java bağımlılıkları baş ağrısı olmadan 'gerçek' bir uygulama olarak yazmıyorlar. – jpwynn
AWS Command Line Interface gibi şeyler böyle yapmak için yeni bir yoldur. Bunu kullanarak, böyle bir klasör yeniden adlandırabilirsiniz:
aws s3 mv --recursive s3://bucketname/oldfoldername s3://bucketname/newfoldername
emin olun ve bunu, ona yapacak ne düşündüğünü yapacak emin olmak için --dryrun
seçeneğiyle başlar.
S3 Yönetim Konsolu'nu kullanırsanız, kesebilir ve yapıştırabilirsiniz. İstediğiniz klasöre gidin, Ctrl + A'yı tıklayın, ardından Eylemler> Kes'i tıklayın. Yeni klasörünüzü yapın ve İşlemler> Yapıştır'ı tıklayın.
- 1. CMake'de bir kitaplık dosya adını nasıl yeniden adlandırırsınız?
- 2. Dart sınıfını nasıl adlandırırsınız?
- 3. p4 sync -f klasörü neden silinmiş bir klasörü yeniden açmıyor?
- 4. IIS 7.5 URL Yeniden Yaz - Bir URL'den Klasörü Yeniden Yaz
- 5. Git öğesinden GitHub özel yanıtındaki bir klasörü nasıl yeniden adlandırabilirim?
- 6. Verilen bir paketteki kaynakları listeleyebilir miyim?
- 7. Laravel 4: Bir paketteki görünümleri kullanma
- 8. JUnit java.lang.OutOfMemoryError Bir paketteki tüm testleri çalıştırırken
- 9. Grunt'ta bir klasörü nasıl kopyalarım?
- 10. SQLite 3.0'da bir tablo nasıl yeniden adlandırılır?
- 11. Android - Bir klasörü aç?
- 12. Android'de yeniden klasörü düzenlemenin bir yolu var mı?
- 13. Xcode 4'te bir grup klasörü yeniden adlandırılamıyor
- 14. cwd kullanarak bir klasörü kopyalama
- 15. Svn klasörü bir seviye yukarı nasıl taşınır
- 16. Bir klasörü kakao ile nasıl izleyebilirim?
- 17. Ubuntu'da nasıl bir genel HTML klasörü oluşturabilirim?
- 18. Son klasörü bir yol dizesinden nasıl alabilirim?
- 19. Uygulama ile bir klasörü nasıl açabilirim
- 20. cx_freeze ile bir klasörü nasıl ekleyebilirim?
- 21. .htaccess yönlendirme klasörü bir url'ye
- 22. Bir linux web sunucusunda bir kısayol klasörü nasıl oluşturabilirim?
- 23. "Belge Formatı" nı C# programlı olarak nasıl adlandırırsınız?
- 24. Apache FilesMatch - düzenli ifadedeki bir klasörü eşleştirme
- 25. Bir lib klasörü modülünde url_for kullanarak
- 26. ASP.NET MVC için varsayılan Denetimciler klasörü yerine kullanılacak bir Denetleyici klasörü nasıl ayarlanır veya belirtilir?
- 27. Tüm bir klasörü Windows'tan Android öykünücüsüne taşıyın
- 28. Depo klasörü içeriğini belirli bir klasöre kopyalayın
- 29. Benim emülatörümde bir sdcard klasörü yok
- 30. SVN güncellemeleri sırasında bir klasörü yok sayma
@John, ya bir şey düzenlediniz? – Trip
Windows için CloudBerry'i buldum. Ama pencerelerden nefret ediyorum. Mac alternatifini bilen var mı? – Trip
Bunu yapacak bir komut dosyası var - e-posta (longtailvideo dot com'da zach) ve ileteceğim. –