我以前使用过Lambda函数,如果我没记错的话,我应该在中拥有约500Mb的(短暂的)空间。/tmp
然而,我的 Go lambda 函数似乎没有与 fs 正确交互:
exec.Command("ls -la /").Output()返回空
exec.Command("rm -rf /tmp/xxx").Run()返回fork/exec : no such file or directory
exec.Command("mkdir -p /tmp/xxx").Run()返回fork/exec : no such file or directory
这真的很奇怪。它使用的是 go1.x 环境(因此,我猜亚马逊linux:2)
更新
我可以使用 Go os 函数访问 fs:
os.RemoveAll("/tmp/xxx")
if _, err := os.Stat("/tmp/xxx"); os.IsNotExist(err) {
if err := os.Mkdir("/tmp/xxx", os.ModePerm); err != nil {
return err
}
}
但是我真的需要exec来运行之后(二进制命令),并在该tmp文件夹中写入一个文件。在这种情况下,错误是相同的(没有这样的文件或目录)。即使我刚刚使用上述命令创建了文件夹。
Smart猫小萌
相关分类