问题
需要再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