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

AWS गुप्त प्रबंधक में किसी विशिष्ट स्थान से गुप्त कुंजियों को अद्यतन करने के लिए Boto3 का उपयोग कैसे करें

समस्या कथन: boto3 . का उपयोग करें एडब्ल्यूएस सीक्रेट मैनेजर में विशिष्ट स्थान से गुप्त कुंजियों को अपडेट करने के लिए पायथन में पुस्तकालय।

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

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

  • चरण 2: गुप्त_संग्रहीत_स्थान और secret_key_pair आवश्यक पैरामीटर हैं। सुनिश्चित करें कि secret_key_pair स्ट्रिंग . के रूप में लिखा जाता है , तानाशाही . के रूप में नहीं ।

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

  • चरण 4: गुप्त प्रबंधक . के लिए AWS क्लाइंट बनाएं ।

  • चरण 5: update_secret पर कॉल करें और secret_stored_location . पास करें SecretId . के रूप में और secret_key_pair सीक्रेटस्ट्रिंग के रूप में।

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

  • चरण 7: अगर सीक्रेट अपडेट करते समय कुछ गलत हो जाता है, तो सामान्य अपवाद को हैंडल करें।

उदाहरण कोड

AWS गुप्त प्रबंधक में रहस्यों को अद्यतन करने के लिए निम्नलिखित कोड का उपयोग करें -

import boto3
from botocore.exceptions import ClientError

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

a = update_secret_details('/secrets/aws', '{"user_test1":"test"}')
print(a)

आउटपुट

{'ARN': 'arn:aws:secretsmanager:us-east-1:***************:secret:/secrets/aws-wr1Aj6', 'Name': '/secrets/aws', 'VersionId': 'f5308bed-7c23-4d47-a32b-8f2a5f044e53',  '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}}

  1. एडब्ल्यूएस गोंद डेटा कैटलॉग से डेटाबेस की तालिका परिभाषा प्राप्त करने के लिए Boto3 का उपयोग कैसे करें?

    समस्या का विवरण - डेटाबेस की तालिका परिभाषा को पुनः प्राप्त करने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें। उदाहरण - डेटाबेस क्यूए-टेस्ट की तालिका परिभाषा और सुरक्षा के रूप में तालिका को पुनः प्राप्त करें। इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम चरण 1 - अपवादों को संभालने के लिए boto3

  1. एडब्ल्यूएस गोंद डेटा कैटलॉग से डेटाबेस का विवरण प्राप्त करने के लिए Boto3 का उपयोग कैसे करें?

    समस्या का विवरण - डेटाबेस की परिभाषा को पुनः प्राप्त करने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें। उदाहरण - डेटाबेस क्यूए-टेस्ट की परिभाषा प्राप्त करें। इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें। चरण 2 - डेटाबेस_नाम

  1. एडब्ल्यूएस गोंद डेटा कैटलॉग से क्लासिफायरियर का विवरण प्राप्त करने के लिए Boto3 का उपयोग कैसे करें?

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