lambda + efs-安装与访问点

问题描述

我正尝试同时使用aws lambda和efs,以便执行超出默认lambda存储限制500mb的操作。我很困惑本地安装路径访问点之间的区别。

本地安装路径是用于描述文件系统在现有文件系统中的安装位置以及访问点(也具有其自己的路径)的术语,该应用程序将在代码中引用该位置?还是实际上并不是要引用哪个路径?

例如

AccessPointResource:
    Type: 'AWS::EFS::AccessPoint'
    Properties:
      FileSystemId: !Ref FileSystemResource
      PosixUser:
        Uid: "1000"
        Gid: "1000"
      RootDirectory:
        CreationInfo:
          OwnerGid: "1000"
          OwnerUid: "1000"
          Permissions: "0777"
        Path: "/myefs"

是我在lambda上直接指定用于测试的访问点和安装路径的创建方式。

enter image description here

我想我主要的困惑是为什么会有2条路径,它们之间有什么区别,我应该在lambda中使用哪一条?

解决方法

您的EFS上可以有许多目录

/myefs
/myefs2
/myefs3
/myefs4
/important
/images

您的AccessPointResource将仅允许访问/myefs。对于使用访问点的任何人,该文件夹基本上都是 root 。通过该访问点不会暴露其他文件夹。

/mnt/efs是lambda容器中的 mount文件夹。因此,您的函数将能够访问以/myefs的名称安装在其本地目录树中的/mnt/efs

,

挂载路径必须与接入点根目录相同 - 在您的情况下,您应该将 local mount path 从“/mnt/efs”更改为“/mnt/myefs”(或者如果您想要挂载路径要成为“/mnt/efs”,您应该将访问点根目录更改为“efs”)

您还可以看到this answer

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...