AWS Glue Python Shell任务中获取AWS SM中的加密配置

问题

需要再AWS Glue Python Shell中获取敏感配置。这里通过boto3客户端获取。

Python

python 复制代码
import boto3
import json

"""使用 boto3 直接从 Secrets Manager 获取配置"""
try:
    # 创建 Secrets Manager 客户端
    client = boto3.client('secretsmanager')
    
    # 获取 Secret 值
    response = client.get_secret_value(SecretId=secret_arn)
    
    # 判断返回的是字符串还是二进制(通常是字符串形式的 JSON)
    if 'SecretString' in response:
        secret = json.loads(response['SecretString'])
    else:
        # 如果是二进制数据,需要先解码
        secret = json.loads(base64.b64decode(response['SecretBinary']))
        
    # 校验字段
    required = ['你配置的key', '你配置的key2']
    for field in required:
        if field not in secret:
            raise ValueError(f"Secret 中缺少字段: {field}")
    
    logger.info("成功通过 boto3 获取 AES 配置")
    return secret
    
except Exception as e:
    logger.exception(f"通过 boto3 获取 Secret 失败: {str(e)}")
    raise

参考

相关推荐
菜鸟不秃头11 分钟前
手搓 ViT -- 并完成图像分类任务
python
ZhuoAIStage14 分钟前
舞台工艺检测表单自动生成:用 Python 与智能体 Skill 打通规范限值到可填表的数据流
python·第三方检测·舞台工艺·表单自动生成·规范性引用
MoRanzhi12031 小时前
第3篇 · 使用 PyQt5 实现 2048 桌面版游戏:MVC 架构与撤销和重做
python·mvc·pyqt5·桌面应用开发·gui开发·2048游戏·撤销与重做
蚰蜒螟1 小时前
从 Java SocketChannel 到 TCP 挥手:一次 close() 的完整调用链与引用计数解析
java·python·tcp/ip
Smoothcloud润云1 小时前
GPU算力平台跑知识库问答,模型回答总跑偏?先排查检索链路
人工智能·python·深度学习·gpu算力·gpu
mklpo1471 小时前
python3:如何按照实际执行需求导入模块,而不是启动时统一导入?(Python3.15)。2026-10-20
开发语言·人工智能·python
夜晚回家2 小时前
Python 赋值运算符详解 | 从 = 到 +=,一张记账单讲清复合赋值
开发语言·python
Maya动画技术2 小时前
pptx批量转png图片工具
python
MoRanzhi12033 小时前
第4篇 · 使用 PyQt5 实现 2048:平滑动画与性能优化
python·性能优化·qtimer·pyqt5·qpainter·gui动画·2048游戏
海姐软件测试3 小时前
Python 自动化与 AI 结合:基于 Jenkins 的回归验证实践
人工智能·python·自动化