मैं एक s3 बाल्टी के भीतर कई फ़ोल्डरों से फ़ाइलें (फ़ोल्डर नहीं) हटाने की कोशिश कर रहा हूँ।

मेरा कोड:

for archive in src.objects.filter(Prefix="Nightly/{folder}"):
    s3.Object(BUCKET, archive.key).delete()

जब मैं ऐसा करता हूं, तो यह केवल कुछ निर्देशिका से फ़ाइलें हटा देता है (ठीक काम करता है)

लेकिन अन्य 2 फ़ोल्डरों के लिए यह फ़ोल्डर को ही हटा देता है।

enter image description here

यदि आप चित्र देखते हैं, तो मैं प्रत्येक फ़ोल्डर में फ़ाइलों को सूचीबद्ध कर रहा हूँ। फ़ोल्डर खाता, उपयोगकर्ता, संग्रह एक अतिरिक्त संग्रह प्रिंट करना (हाइलाइट किया गया) लेकिन फ़ोल्डर अवसर और opphistory फ़ोल्डर के लिए मुद्रण कुंजी नहीं। मैं जानना चाहता हूं कि इन 2 फ़ोल्डरों के लिए यह कुंजी क्यों प्रिंट नहीं कर रही है, धन्यवाद।

1
pyd 18 अक्टूबर 2021, 11:05
S3 में वास्तव में निर्देशिका नहीं है। हमें यह देखना होगा कि सुनिश्चित करने के लिए folder क्या है, लेकिन मेरा अनुमान है कि कुछ मामलों में इसमें अनुगामी स्लैश नहीं होता है और कुछ में ऐसा होता है।
 – 
theherk
18 अक्टूबर 2021, 11:14
यदि फ़ोल्डर गायब हो जाते हैं तो क्या यह आपके लिए विशेष रूप से मायने रखता है? उन्हें डेटा संग्रहीत करने की आवश्यकता नहीं है।
 – 
John Rotenstein
18 अक्टूबर 2021, 14:27
Secara umum, di hampir semua aspek pemrograman (cakupan variabel, blok coba-tangkap, anggota kelas, dll), semakin kecil cakupannya, semakin mudah untuk dipikirkan dan semakin kecil kemungkinan Anda untuk menulis bug.
 – 
Marcin
19 अक्टूबर 2021, 04:39

1 उत्तर

सबसे बढ़िया उत्तर

S3 में कोई फ़ोल्डर और फ़ाइलें नहीं हैं। सब कुछ एक ऑब्जेक्ट है। तो Nightly/user/ एक वस्तु है, ठीक वैसे ही जैसे Nightly/opportunity/opportunity1.txt एक वस्तु है।

"फ़ोल्डर्स" केवल विज़ुअल प्रतिनिधित्व द्वारा बनाए गए हैं एडब्ल्यूएस कंसोल:

कंसोल एक फ़ोल्डर संरचना प्रस्तुत करने के लिए कुंजी नाम उपसर्ग (विकास/, वित्त/, और निजी/) और सीमांकक ('/') का उपयोग करता है।

तो आपका "फ़ोल्डर खाता, उपयोगकर्ता, एक अतिरिक्त संग्रह प्रिंट करना (हाइलाइट किया गया)" केवल Nightly/user/, Nightly/account/ और Nightly/Archive/ नामक वस्तुएं हैं। जब आप एडब्ल्यूएस कंसोल में "नया फ़ोल्डर" पर क्लिक करते हैं तो ऐसी वस्तुएं बनाई जाती हैं (आप उन्हें बनाने के लिए एडब्ल्यूएस एसडीके या सीएलआई का भी उपयोग कर सकते हैं)। आपकी अन्य "फ़ाइलों" में ऐसे फ़ोल्डर नहीं हैं, क्योंकि ये "फ़ाइलें" इस तरह नहीं बनाई गई थीं। इसके बजाय उन्होंने अपने पूरे नाम के तहत S3 पर अपलोड किया, उदा। Nightly/opportunity/opportunity1.txt.

1
Marcin 18 अक्टूबर 2021, 11:38
Tidak masalah. Senang aku dapat membantu.
 – 
Marcin
19 अक्टूबर 2021, 04:56