কম্পিউটার টিউটোরিয়াল

Boto3 ব্যবহার করে AWS Secret Manager-এ নির্দিষ্ট লোকেশন থেকে সিক্রেট কী আপডেট করা


সমস্যা: পাইথনে boto3 লাইব্রেরি ব্যবহার করে AWS Secret Manager-এ নির্দিষ্ট লোকেশন থেকে সিক্রেট কী আপডেট করা।

পদ্ধতি/অ্যালগরিদম

  • ধাপ ১: boto3 এবং botocore এক্সেপশন ইম্পোর্ট করুন এক্সেপশন হ্যান্ডল করার জন্য।

  • ধাপ ২: secret_stored_location এবং secret_key_pair আবশ্যিক প্যারামিটার। নিশ্চিত করুন secret_key_pair স্ট্রিং হিসেবে লেখা হয়েছে, ডিকশনারি হিসেবে নয়।

  • ধাপ ৩: boto3 লাইব্রেরি ব্যবহার করে AWS সেশন তৈরি করুন। নিশ্চিত করুন region_name ডিফল্ট প্রোফাইলে আছে। না থাকলে সেশন তৈরি করার সময় সিদ্ধা region_name পাস করুন।

  • ধাপ ৪: secretmanager-এর জন্য AWS ক্লায়েন্ট তৈরি করুন।

  • ধাপ ৫: update_secret কল করুন এবং secret_stored_location কে SecretId এবং secret_key_pair কে SecretString হিসেবে পাস করুন।

  • ধাপ ৬: এটি আপডেট করা সিক্রেটের মেটাডেটা রিটার্ন করে।

  • ধাপ ৭: সিক্রেট আপডেট করার সময় যদি কোনো সমস্যা হয় তবে জেনেরিক এক্সেপশন হ্যান্ডল করুন।

উদাহরণ কোড

AWS Secret Manager-এ সিক্রেট আপডেট করতে নিচের কোডটি ব্যবহার করুন:

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 ব্যবহার করে AWS Glue Data Catalog থেকে একটি ডেটাবেসের ডিটেইলস পাওয়া

  2. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি কানেকশনের ডিটেইলস পাওয়া

  3. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি ক্লাসিফায়ারের ডিটেইলস পাওয়া

  4. Boto3 ব্যবহার করে AWS Glue থেকে একটি Glue Job ডিলিট করা