Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

Boto3 और AWS क्लाइंट का उपयोग करके, यह जांचने के लिए कि क्या S3 बाल्टी मौजूद है, वेटर का उपयोग कैसे करें?

इस लेख में, हम देखेंगे कि S3 बकेट मौजूद है या नहीं, यह सत्यापित करने के लिए Boto3 लाइब्रेरी और वेटर कार्यक्षमता का उपयोग कैसे करें। उदाहरण के लिए, वेटर्स का उपयोग यह जांचने के लिए करें कि क्या बकेट_1 S3 में मौजूद है

इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम

चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें।

चरण 2 - फ़ंक्शन में पैरामीटर के रूप में बकेट_नाम का उपयोग करें।

चरण 3 - boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं।

चरण 4 - S3 के लिए AWS क्लाइंट बनाएं।

चरण 5 − अब bucket_exists . के लिए प्रतीक्षा ऑब्जेक्ट बनाएं get_waiter . का उपयोग करके समारोह।

चरण 6 - अब, बकेट मौजूद है या नहीं, यह सत्यापित करने के लिए प्रतीक्षा वस्तु का उपयोग करें। डिफ़ॉल्ट रूप से, यह हर 5 सेकंड में एक सफल स्थिति तक पहुंचने तक जांच करता है। 20 विफल जाँचों के बाद एक त्रुटि लौटा दी जाती है। हालांकि, उपयोगकर्ता मतदान के समय और अधिकतम प्रयासों को परिभाषित कर सकता है।

चरण 7 - यह कोई नहीं लौटाता है।

चरण 8 - बकेट चेक करते समय कुछ गलत होने पर सामान्य अपवाद को हैंडल करें।

उदाहरण

बकेट_एक्सिस्ट है या नहीं यह जांचने के लिए वेटर का उपयोग करने के लिए निम्नलिखित कोड का उपयोग करें -

बोटोकोर से आयात करें। ) Waiter.wait(bucket=bucket_name, WaiterConfig={'Delay':2, 'MaxAttempts':5}) प्रिंट ('बकेट मौजूद है:' +bucket_name) ClientError को छोड़कर e:रेज़ एक्सेप्शन ("boto3 क्लाइंट एरर in use_waiters_check_bucket_exists:"+ e.__str__ ()) अपवाद को छोड़कर e:अपवाद बढ़ाएँ ("use_waiters_check_bucket_exists में अनपेक्षित त्रुटि:" + e.__str__ ()) प्रिंट (use_waiters_check_bucket_exists("bucket_1"))print(use_waiters_check_bucket_exists("bucket_2"))

आउटपुट

बकेट मौजूद है:बकेट_1कोई नहीं है। 

बकेट_1 के लिए, आउटपुट प्रिंट स्टेटमेंट है और कोई नहीं। चूंकि प्रतिक्रिया कुछ भी वापस नहीं करती है, यह कोई नहीं प्रिंट करती है।

बकेट_2 के लिए, आउटपुट एक अपवाद है, क्योंकि यह बकेट मौजूद नहीं है।

अपवाद में, यह पढ़ा जा सकता है कि अधिकतम प्रयास पार हो गए।


  1. S3 में रूट बकेट मौजूद है या नहीं यह निर्धारित करने के लिए Boto3 और AWS संसाधन का उपयोग कैसे करें?

    समस्या का विवरण - यह निर्धारित करने के लिए कि S3 में रूट बकेट मौजूद है या नहीं, Python में Boto3 लाइब्रेरी का उपयोग करें। उदाहरण - बकेट_1 S3 में मौजूद है या नहीं। इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें। चरण 2 - boto3 लाइ

  1. AWS क्लाइंट का उपयोग करके S3 में मौजूद बकेट की सूची प्राप्त करने के लिए Boto3 का उपयोग कैसे करें?

    समस्या का विवरण − AWS में मौजूद सभी बकेट की सूची प्राप्त करने के लिए Python में Boto3 लाइब्रेरी का उपयोग करें उदाहरण - बकेट का नाम प्राप्त करें जैसे - BUCKET_1, BUCKET2, BUCKET_3 इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें। च

  1. मैं कैसे जांचूं कि पाइथन का उपयोग कर कोई फ़ाइल मौजूद है या नहीं?

    कंप्यूटर में एक निश्चित फ़ाइल की उपस्थिति को पायथन कोड का उपयोग करके दो तरीकों से सत्यापित किया जा सकता है। एक तरीका है os.path मॉड्यूल के isfile() फ़ंक्शन का उपयोग करना। यदि निर्दिष्ट पथ पर फ़ाइल मौजूद है, तो फ़ंक्शन सही है, अन्यथा यह गलत है। >>> import os >>> os.path.isfile(d:\\