Description: SAM + Lambda + EFS Parameters: PreCreatedSubnetOne: Type: String PreCreatedVpc: Type: String Resources: EfsFileSystem: Type: AWS::EFS::FileSystem MountTarget: Type: AWS::EFS::MountTarget Properties: FileSystemId: Ref: EfsFileSystem SubnetId: Ref: PreCreatedSubnetOne SecurityGroups: - Fn::GetAtt: MySecurityGroup.GroupId AccessPoint: Type: AWS::EFS::AccessPoint Properties: FileSystemId: Ref: EfsFileSystem LambdaFunctionWithEfs: Type: AWS::Serverless::Function DependsOn: MountTarget Properties: InlineCode: | const fs = require('fs') const path = require('path') const efsMountPath = '/mnt/efs' exports.handler = async (event, context, callback) => { const directory = path.join(efsMountPath, event.body) const files = fs.readdirSync(directory) return files } Handler: index.handler MemorySize: 128 Runtime: nodejs14.x Timeout: 3 VpcConfig: SecurityGroupIds: - Fn::GetAtt: MySecurityGroup.GroupId SubnetIds: - Ref: PreCreatedSubnetOne FileSystemConfigs: - Arn: Fn::GetAtt: AccessPoint.Arn LocalMountPath: /mnt/EFS MySecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: my test group VpcId: Ref: PreCreatedVpc Metadata: SamTransformTest: true