समस्या कथन: AWS सीक्रेट में टैग जोड़ने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें।
समस्या हल करने का दृष्टिकोण/एल्गोरिदम
चरण 1: boto3 और botocore एक्सेप्शन आयात करें ताकि एक्सेप्शन संभाले जा सकें।
चरण 2: इस फ़ंक्शन में secret_location और tags_dict आवश्यक पैरामीटर हैं। tags_dict का प्रारूप
{"key":"value",..}होना चाहिए।चरण 3: boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में region_name उल्लिखित है। यदि नहीं, तो सत्र बनाते समय स्पष्ट रूप से region_name पास करें।
चरण 4: secretmanager के लिए AWS क्लाइंट बनाएं।
चरण 5: अब tag_resource फ़ंक्शन का उपयोग करें और पैरामीटर secret_location को SecretId के रूप में और tags_dict को Tags के रूप में पास करें।
चरण 6: यह रिस्पांस मेटाडेटा लौटाता है और संसाधनों में टैग जोड़ देता है।
चरण 7: टैग जोड़ते समय यदि कुछ गलत होता है तो सामान्य एक्सेप्शन को संभालें।
उदाहरण कोड
टैग जोड़ने के लिए निम्न कोड का उपयोग करें:
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}}
महत्वपूर्ण नोट्स
Tagsपैरामीटर में कुंजी-मान जोड़े की सूची होती है, प्रत्येक मेंKeyऔरValueफ़ील्ड होते हैं।यदि टैग कुंजी पहले से मौजूद है, तो उसका मान अपडेट हो जाता है।
टैग जोड़ने के लिए IAM अनुमति
secretsmanager:TagResourceआवश्यक है।प्रति सीक्रेट अधिकतम 50 टैग जोड़े जा सकते हैं।
टैग कुंजी 128 वर्ण तक और मान 256 वर्ण तक हो सकते हैं।