从 AWS lambda 访问许多 key:value 对
Accessing Many key:value pairs from AWS lambda
我在一个项目中工作,我需要从我的 lambda 函数循环访问许多单独的值....我知道我们可以使用环境变量,但我不能为所有值创建环境变量并调用它循环所以请建议我们是否可以使用包含我所有值的任何文件并在循环或任何其他方式中调用它?我使用 python 3.9 创建 lambda
提前致谢
找到一种通过从 AWS 秘密存储存储和访问来访问和更新许多键值对的方法
在 AWS Secret store 中创建 key:value 对,我们可以从 lambda 访问我们的键值,我们需要在 Lambda 环境变量中提及我们的 AWS secret store ARN 并通过导入调用它 os模块
它运行良好,我可以使用 'client.update_secret'
更新值
我们需要确保我们的 Lambda 执行角色应该拥有 AWS Secret store 服务的 GET、LIST、UPDATE...等权限
找到下面的脚本:
import boto3
from botocore.exceptions import ClientError
import os
session=boto3.session.Session()
client=session.client(service_name='secretsmanager', region_name='<enter our region name>')
def lambda_handler(event, context):
arn_v=os.environ['<enter our environment varaible name here... which contains the ARN of our secret store>'].split(',')
for i in arn_v:
try:
get_secret_value_response=client.get_secret_value(SecretId=i)
value1=eval(get_secret_value_response['SecretString'])['<enter our key1 name>']
value2=eval(get_secret_value_response['SecretString'])['<enter our key2 name>']
value3=eval(get_secret_value_response['SecretString'])['<enter our key3 name>']
print(get_secret_value_response)
print(value1)
print(value2)
print(value3)
except ClientError as e:
raise e
我在一个项目中工作,我需要从我的 lambda 函数循环访问许多单独的值....我知道我们可以使用环境变量,但我不能为所有值创建环境变量并调用它循环所以请建议我们是否可以使用包含我所有值的任何文件并在循环或任何其他方式中调用它?我使用 python 3.9 创建 lambda
提前致谢
找到一种通过从 AWS 秘密存储存储和访问来访问和更新许多键值对的方法
在 AWS Secret store 中创建 key:value 对,我们可以从 lambda 访问我们的键值,我们需要在 Lambda 环境变量中提及我们的 AWS secret store ARN 并通过导入调用它 os模块
它运行良好,我可以使用 'client.update_secret'
更新值我们需要确保我们的 Lambda 执行角色应该拥有 AWS Secret store 服务的 GET、LIST、UPDATE...等权限
找到下面的脚本:
import boto3
from botocore.exceptions import ClientError
import os
session=boto3.session.Session()
client=session.client(service_name='secretsmanager', region_name='<enter our region name>')
def lambda_handler(event, context):
arn_v=os.environ['<enter our environment varaible name here... which contains the ARN of our secret store>'].split(',')
for i in arn_v:
try:
get_secret_value_response=client.get_secret_value(SecretId=i)
value1=eval(get_secret_value_response['SecretString'])['<enter our key1 name>']
value2=eval(get_secret_value_response['SecretString'])['<enter our key2 name>']
value3=eval(get_secret_value_response['SecretString'])['<enter our key3 name>']
print(get_secret_value_response)
print(value1)
print(value2)
print(value3)
except ClientError as e:
raise e