要在AWS Lambda中访问EFS文件系统,需要确保以下几个步骤:
确保Lambda函数和EFS文件系统在同一个VPC中。
在Lambda函数的执行角色中添加以下策略,以允许函数访问EFS:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"elasticfilesystem:ClientMount",
"elasticfilesystem:ClientWrite"
],
"Resource": "*"
}
]
}
mount
命令来挂载EFS文件系统。以下是一个示例代码:import os
def lambda_handler(event, context):
efs_mount_point = '/mnt/efs'
efs_file_path = os.path.join(efs_mount_point, 'file.txt')
# 挂载EFS文件系统
os.system(f'mount -t efs fs-12345678:{efs_mount_point}')
# 读取EFS文件
with open(efs_file_path, 'r') as file:
content = file.read()
print(content)
# 卸载EFS文件系统
os.system(f'umount {efs_mount_point}')
请确保将fs-12345678
替换为您的EFS文件系统ID。
这样,您应该能够在AWS Lambda函数中成功访问EFS文件系统。