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

Boto3 का उपयोग करके AWS Secrets Manager में विशिष्ट स्थान से सीक्रेट्स का विवरण प्राप्त करना


समस्या कथन: AWS Secrets Manager में विशिष्ट स्थान से सीक्रेट्स का विवरण प्राप्त करने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें।

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

  • चरण 1: boto3 और botocore एक्सेप्शन आयात करें ताकि एक्सेप्शन संभाले जा सकें।

  • चरण 2: secret_stored_location आवश्यक पैरामीटर है।

  • चरण 3: boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में region_name उल्लिखित है। यदि नहीं, तो सत्र बनाते समय स्पष्ट रूप से region_name पास करें।

  • चरण 4: secretmanager के लिए AWS क्लाइंट बनाएं।

  • चरण 5: describe_secret कॉल करें और secret_stored_location को SecretId के रूप में पास करें।

  • चरण 6: यह सीक्रेट्स का मेटाडेटा लौटाता है।

  • चरण 7: सीक्रेट्स का विवरण प्राप्त करते समय यदि कुछ गलत होता है तो सामान्य एक्सेप्शन को संभालें।

उदाहरण कोड

AWS Secrets Manager में सीक्रेट्स का विवरण प्राप्त करने के लिए निम्न कोड का उपयोग करें:

import boto3
from botocore.exceptions import ClientError

def get_secret_details(secret_stored_location):
    session = boto3.session.Session()
    s3_client = session.client('secretmanager')
    try:
        response = s3_client.describe_secret(SecretId=secret_stored_location)
        return response
    except ClientError as e:
        raise Exception("boto3 client error in get_secret_details: " + e.__str__())
    except Exception as e:
        raise Exception("Unexpected error in get_secret_details: " + e.__str__())

a = get_secret_details('/secrets/aws')
print(a)

आउटपुट

{'ARN': 'arn:aws:secretsmanager:us-east-1:***************:secret:/secrets/aws-wr1Aj6', 'Name': '/secrets/aws', 'LastChangedDate': datetime.datetime(2021, 4, 3, 17, 6, 57, 601000, tzinfo=tzlocal()), 'LastAccessedDate': datetime.datetime(2021, 4, 3, 5, 30, tzinfo=tzlocal()), 'VersionIdsToStages': {'f5308bed-7c23-4d47-a32b-8f2a5f044e53': ['AWSCURRENT'], 'fcdc1b5b-2a35-4d12-9d84-65d529651d2e': ['AWSPREVIOUS']}, 'ResponseMetadata': {'RequestId': 'b32fe48d**************ab', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 03 Apr 2021 09:40:48 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '197', 'connection': 'keep-alive', 'x-amzn-requestid': *********************************}, 'RetryAttempts': 0}}

प्रतिक्रिया में मुख्य फ़ील्ड

  • ARN: सीक्रेट का अमेज़न रिसोर्स नेम

  • Name: सीक्रेट का नाम

  • LastChangedDate: सीक्रेट अंतिम बार कब बदला गया

  • LastAccessedDate: सीक्रेट अंतिम बार कब एक्सेस किया गया

  • VersionIdsToStages: संस्करण ID से स्टेज लेबल का मैपिंग (AWSCURRENT, AWSPREVIOUS, कस्टम स्टेज)

  • RotationEnabled: क्या ऑटोमैटिक रोटेशन सक्षम है

  • RotationRules: रोटेशन नियम (यदि सक्षम है)

नोट

describe_secret केवल मेटाडेटा लौटाता है, सीक्रेट मान नहीं। सीक्रेट मान प्राप्त करने के लिए get_secret_value का उपयोग करें।


  1. - Boto3 का उपयोग करके AWS Glue डेटा कैटलॉग से कनेक्शन का विवरण कैसे प्राप्त करें?

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

  1. - Boto3 का उपयोग करके AWS Glue डेटा कैटलॉग से क्लासिफायर का विवरण कैसे प्राप्त करें?

    समस्या विवरण - Python में boto3 लाइब्रेरी का उपयोग करके AWS Glue डेटा कैटलॉग से क्लासिफायर का विवरण प्राप्त करें। उदाहरण के लिए, क्लासिफायर xml-test का विवरण प्राप्त करें।इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदमचरण 1 - अपवादों को संभालने के लिए boto3 और botocore एक्सेप्शन्स आयात करें।चरण 2 - पैरा

  1. - Python में Boto3 लाइब्रेरी का उपयोग करके क्रॉलर का विवरण कैसे प्राप्त करें?

    उदाहरण: क्रॉलर, crawler_for_s3_file_job का विवरण प्राप्त करें।इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदमचरण 1 - अपवादों को संभालने के लिए boto3 और botocore एक्सेप्शन्स आयात करें।चरण 2 - crawler_name अनिवार्य पैरामीटर है। यह एक सूची है इसलिए यूज़र एक समय में कई क्रॉलर्स के नाम भेजकर विवरण प्राप्त कर