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

Boto3 और AWS क्लाइंट का उपयोग करके S3 बकेट का नोटिफिकेशन कॉन्फ़िगरेशन विवरण कैसे प्राप्त करें?


समस्या विवरण - Python में boto3 लाइब्रेरी का उपयोग करके S3 बकेट का नोटिफिकेशन कॉन्फ़िगरेशन प्राप्त करें। उदाहरण के लिए, S3 में Bucket_1 का नोटिफिकेशन कॉन्फ़िगरेशन विवरण प्राप्त करें।

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

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

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

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

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

चरण 5 - अब फंक्शन get_bucket_notification_configuration का उपयोग करें और बकेट नाम पास करें।

चरण 6 - यह S3 के बारे में विवरण वाला डिक्शनरी लौटाता है। यदि नोटिफिकेशन सेट नहीं है, तो यह NONE लौटाता है।

चरण 7 - फाइल डिलीट करते समय यदि कुछ गलत हुआ तो सामान्य अपवाद को संभालें।

उदाहरण

नोटिफिकेशन कॉन्फ़िगरेशन विवरण प्राप्त करने के लिए निम्न कोड का उपयोग करें -

import boto3 from botocore.exceptions import ClientError def get_bucket_notificationconfiguration_of_s3(bucket_name):     session = boto3.session.Session()     s3_client = session.client('s3')     try:         result = s3_client.get_bucket_notification_configuration(Bucket=bucket_name)     except ClientError as e:         raise Exception("boto3 client error in get_bucket_notificationconfiguration_of_s3: " + e.__str__())     except Exception as e:         raise Exception("Unexpected error in get_bucket_notificationconfiguration_of_s3 function: " + e.__str__()) return result print(get_bucket_notificationconfiguration_of_s3("Bucket_1"))

आउटपुट

{ 'TopicConfigurations': [ { 'Id': 'string', 'TopicArn': 'string', 'Events': [ 's3:ReducedRedundancyLostObject'|'s3:ObjectCreated:*'|'s3:ObjectCreated:Put'|'s3:ObjectCreated:Post'|'s3:ObjectCreated:Copy'|'s3:ObjectCreated:CompleteMultipartUpload'|'s3:ObjectRemoved:*'|'s3:ObjectRemoved:Delete'|'s3:ObjectRemoved:DeleteMarkerCreated'|'s3:ObjectRestore:*'|'s3:ObjectRestore:Post'|'s3:ObjectRestore:Completed'|'s3:Replication:*'|'s3:Replication:OperationFailedReplication'|'s3:Replication:OperationNotTracked'|'s3:Replication:OperationMissedThreshold'|'s3:Replication:OperationReplicateAfterThreshold', ], 'Filter': { 'Key': { 'FilterRules': [ { 'Name': 'prefix'|'suffix', 'Value': 'string' } ] } } ], 'QueueConfigurations': [ { 'Id': 'string', 'QueueArn': 'string', 'Events': [ 's3:ReducedRedundancyLostObject'|'s3:ObjectCreated:*'|'s3:ObjectCreated:Put'|'s3:ObjectCreated:Post'|'s3:ObjectCreated:Copy'|'s3:ObjectCreated:CompleteMultipartUpload'|'s3:ObjectRemoved:*'|'s3:ObjectRemoved:Delete'|'s3:ObjectRemoved:DeleteMarkerCreated'|'s3:ObjectRestore:*'|'s3:ObjectRestore:Post'|'s3:ObjectRestore:Completed'|'s3:Replication:*'|'s3:Replication:OperationFailedReplication'|'s3:Replication:OperationNotTracked'|'s3:Replication:OperationMissedThreshold'|'s3:Replication:OperationReplicateAfterThreshold', ], 'Filter': { 'Key': { 'FilterRules': [ { 'Name': 'prefix'|'suffix', 'Value': 'string' } ] } } }, 'LambdaFunctionConfigurations': [ { 'Id': 'string', 'LambdaFunctionArn': 'string', 'Events': [ 's3:ReducedRedundancyLostObject'|'s3:ObjectCreated:*'|'s3:ObjectCreated:Put'|'s3:ObjectCreated:Post'|'s3:ObjectCreated:Copy'|'s3:ObjectCreated:CompleteMultipartUpload'|'s3:ObjectRemoved:*'|'s3:ObjectRemoved:Delete'|'s3:ObjectRemoved:DeleteMarkerCreated'|'s3:ObjectRestore:*'|'s3:ObjectRestore:Post'|'s3:ObjectRestore:Completed'|'s3:Replication:*'|'s3:Replication:OperationFailedReplication'|'s3:Replication:OperationNotTracked'|'s3:Replication:OperationMissedThreshold'|'s3:Replication:OperationReplicateAfterThreshold', ], 'Filter': { 'Key': { 'FilterRules': [ { 'Name': 'prefix'|'suffix', 'Value': 'string' } ] } } } ] }

नोट: यह आउटपुट बकेट की सेटिंग्स/अनुमतियों पर निर्भर करता है। यदि कुछ सेटिंग्स/अनुमतियां डिफ़ॉल्ट हैं या सेट नहीं हैं तो यह परिणाम को छोड़ देता है। इसी तरह, यदि बकेट के लिए नोटिफिकेशन सेट नहीं है तो यह NONE लौटाता है।


  1. - Boto3 और AWS Client का उपयोग करके S3 बकेट का जीवनचक्र कैसे प्राप्त करें?

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

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

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

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

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