可以使用以下代码示例来解决该问题。
import boto3
import base64
from botocore.exceptions import ClientError
def lambda_handler(event, context):
# 创建Secrets Manager客户端
session = boto3.session.Session()
client = session.client(
service_name='secretsmanager'
)
# 获取Secret值
try:
get_secret_value_response = client.get_secret_value(
SecretId=''
)
except ClientError as e:
if e.response['Error']['Code'] == 'ResourceNotFoundException':
print("指定的密钥“”不存在。")
elif e.response['Error']['Code'] == 'InvalidRequestException':
print("请求已无效:可能缺少必需的参数,或者参数格式不正确。")
elif e.response['Error']['Code'] == 'InvalidParameterException':
print("请求已无效:传递的参数无效。")
else:
print("出现错误:{}".format(e))
else:
if 'SecretString' in get_secret_value_response:
secret = get_secret_value_response['SecretString']
else:
secret = base64.b64decode(get_secret_value_response['SecretBinary'])
# 在此处使用secret来获取所需的值
return {'message': '获取密钥成功。'}
在这个示例中,我们使用AWS SDK for Python(Boto3)客户端来获取指定名称的Secret。我们为Secret的名称提供了硬编码值,但在实际情况中,应将其替换为真实的名称。
在返回值中,我们返回了一条简单的消息以表明我们已成功获取了Secret值。但这可以根据您的情况进行更改。