如何使用Boto3删除指定AWS secrets中的标记
问题陈述: 使用Python中的 boto3 库来删除AWS secret中的标记。
更多Python相关文章,请阅读:Python 教程
解决该问题的方法/算法
- 第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客户端错误在remove_tags_in_resource中:" + e.__str__())
except Exception as e:
raise Exception("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,02Apr202108:04:54GMT','content-type':'application/x-amz-json-1.1','content-length':'27','connection':'keep-alive','x-amzn-requestid':'c9f418b0-******************-fb96'},'RetryAttempts':0}}
极客教程