在AWS Lambda函数中,可以使用环境变量来存储敏感信息,如API密钥和数据库凭据。在运行Lambda函数时,它将读取环境变量并将其暴露给您的代码。但有时Lambda无法确定要将这些机密信息存储在哪个位置。这可能是由于缺少必要的IAM权限或无法读取当前AWS KMS密钥的密钥策略所造成的。
要解决此问题,您可以通过以下步骤来设置环境变量,并为Lambda函数授予必要的权限:
以下是一个Python代码示例,它使用环境变量AWS_SECRET_ACCESS_KEY和AWS_SECRET_AWS_ACCESS_KEY来访问Amazon S3服务:
import boto3
import os
bucket_name = "my-bucket"
folder_name = "my-folder"
s3 = boto3.resource("s3",
aws_access_key_id=os.environ["AWS_ACCESS_KEY_ID"],
aws_secret_access_key=os.environ["AWS_SECRET_ACCESS_KEY"])
bucket = s3.Bucket(bucket_name)
for obj in bucket.objects.filter(Prefix=folder_name):
print(obj.key)
``