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

Boto3 और AWS क्लाइंट का उपयोग करके Bucket_not_exists के लिए वेटर कार्यक्षमता का उपयोग कैसे करें?

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

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

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

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

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

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

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

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

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

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

उदाहरण

बकेट_नॉट_एक्सिस्ट्स -

. की जाँच करने के लिए वेटर का उपयोग करने के लिए निम्नलिखित कोड का उपयोग करें
बोटोकोर से आयात करें। बकेट =बकेट_नाम, वेटरकॉन्फिग ={'देरी':2, 'मैक्सएटेम्प्ट्स':5}) प्रिंट ('बकेट मौजूद नहीं है:' + बकेट_नाम) क्लाइंट एरर को छोड़कर ई:रेज एक्सेप्शन ("boto3 क्लाइंट एरर in use_waiters_check_bucket_not_exists:" + e. __str__ ()) अपवाद को छोड़कर ई:अपवाद उठाएँ ("उपयोग_वेटर्स_चेक_बकेट_नोट_एक्सिस्ट्स में अनपेक्षित त्रुटि:" + e.__str__ ()) प्रिंट (use_waiters_check_bucket_not_exists ("बकेट_2")) प्रिंट (use_waiters_check_bucket_not_exists("bucket_1"))

आउटपुट

बकेट मौजूद नहीं है:बकेट_2Nonebotocore.exceptions.WaterError:वेटर बकेटनॉटएक्सिस्ट्स विफल:Maxattempts पार हो गए"use_waiters_check_bucket_not_exists में अनपेक्षित त्रुटि:" +e.__str__())अपवाद:उपयोग में अनपेक्षित त्रुटि:अधिकतम प्रयास विफल नहीं हुआ:> 

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

बकेट_1 के लिए, आउटपुट एक अपवाद है, क्योंकि यह बकेट जांच के अधिकतम प्रयासों के बाद भी मौजूद है।

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


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

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

  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 अपवाद आयात करें। च