সমস্যা: পাইথনে boto3 লাইব্রেরি ব্যবহার করে AWS Secret-এ ট্যাগ যোগ করা।
পদ্ধতি/অ্যালগরিদম
ধাপ ১: boto3 এবং botocore এক্সেপশন ইম্পোর্ট করুন এক্সেপশন হ্যান্ডল করার জন্য।
ধাপ ২: secret_location এবং tags_dict এই ফাংশনের জন্য আবশ্যিক প্যারামিটার। tags_dict হবে {"key":"value",..} ফরম্যাটে।
ধাপ ৩: boto3 লাইব্রেরি ব্যবহার করে AWS সেশন তৈরি করুন। নিশ্চিত করুন region_name ডিফল্ট প্রোফাইলে আছে। না থাকলে সেশন তৈরি করার সময় সিদ্ধা region_name পাস করুন।
ধাপ ৪: secretmanager-এর জন্য AWS ক্লায়েন্ট তৈরি করুন।
ধাপ ৫: এখন tag_resource ফাংশন ব্যবহার করুন এবং প্যারামিটার হিসেবে secret_location কে SecretId এবং tags_dict কে Tags হিসেবে পাস করুন।
ধাপ ৬: এটি রেসপন্স মেটাডেটা রিটার্ন করে এবং রিসোর্সে ট্যাগগুলো যোগ করে।
ধাপ ৭: ট্যাগ যোগ করার সময় যদি কোনো সমস্যা হয় তবে জেনেরিক এক্সেপশন হ্যান্ডল করুন।
উদাহরণ কোড
ট্যাগ যোগ করতে নিচের কোডটি ব্যবহার করুন:
import boto3
from botocore.exceptions import ClientError
def add_tags_in_resource(secret_location, tags_dict):
session = boto3.session.Session()
client = session.client('secretmanager')
try:
response = client.tag_resource(SecretId=secret_location, Tags=tags_dict)
return response
except ClientError as e:
raise Exception("boto3 client error in add_tags_in_resource: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in add_tags_in_resource: " + e.__str__())
tags_dict = [{"Key":"secret-test","Value":"test"}]
print(add_tags_in_resource("secrets/aws", tags_dict))আউটপুট
{'ResponseMetadata': {'RequestId': 'c9f418b0-***************-fb96', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Fri, 02 Apr 2021 08:04:54 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '27', 'connection': 'keep-alive', 'x-amzn-requestid': 'c9f418b0-******************-fb96'}, 'RetryAttempts': 0}}