समस्या कथन: AWS सीक्रेट में टैग हटाने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें।
समस्या हल करने का दृष्टिकोण/एल्गोरिदम
चरण 1: boto3 और botocore एक्सेप्शन आयात करें ताकि एक्सेप्शन संभाले जा सकें।
चरण 2: इस फ़ंक्शन में secret_location और tags_list आवश्यक पैरामीटर हैं। tags_list उन कुंजियों की सूची होनी चाहिए जिन्हें अनटैग करना है।
चरण 3: boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में region_name उल्लिखित है। यदि नहीं, तो सत्र बनाते समय स्पष्ट रूप से region_name पास करें।
चरण 4: secretmanager के लिए AWS क्लाइंट बनाएं।
चरण 5: अब untag_resource फ़ंक्शन का उपयोग करें और पैरामीटर secret_location को SecretId के रूप में और tags_list को TagKeys के रूप में पास करें।
चरण 6: यह रिस्पांस मेटाडेटा लौटाता है और संसाधनों में टैग हटा देता है।
चरण 7: टैग हटाते समय यदि कुछ गलत होता है तो सामान्य एक्सेप्शन को संभालें।
उदाहरण कोड
टैग हटाने के लिए निम्न कोड का उपयोग करें:
import boto3
from botocore.exceptions import ClientError
def remove_tags_in_resource(secret_location, tags_list):
session = boto3.session.Session()
client = session.client('secretmanager')
try:
response = client.untag_resource(SecretId=secret_location, TagKeys=tags_list)
return response
except ClientError as e:
raise Exception("boto3 client error in remove_tags_in_resource: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in remove_tags_in_resource: " + e.__str__())
tags_dict = ["secret-test"]
print(remove_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}}
महत्वपूर्ण नोट्स
TagKeysपैरामीटर टैग कुंजियों की सूची लेता है, कुंजी-मान जोड़े नहीं।यदि निर्दिष्ट टैग कुंजी मौजूद नहीं है, तो ऑपरेशन चुपचाप सफल होता है (कोई त्रुटि नहीं)।
टैग हटाने के लिए IAM अनुमति
secretsmanager:UntagResourceआवश्यक है।यह ऑपरेशन सीक्रेट मान को प्रभावित नहीं करता, केवल मेटाडेटा टैग हटाता है।