我正在创建一个AWS Lambda以使用python-gnupg在s3中加密/解密文件,但是在运行无服务器lambda时会出现此错误(
homedir='/tmp'
try:
gpg = gnupg.GPG(gnupghome=homedir)
except TypeError:
gpg = gnupg.GPG(homedir=homedir)
在我的计算机上本地运行lambda,不会发生该错误。
答案 0 :(得分:0)
在Lambda执行中,您唯一可以访问的目录是/ tmp。这里的问题是您的目录权限没有被gnupg充分锁定(请参见https://superuser.com/a/954536)。
在调用 message.channel.send({
files: [{
attachment: 'IMG LINK',
name: 'SPOILER_NAME.jpg'
}]
})
之前,您可以尝试使用os模块进行以下操作:a)在gpg.gnupg.GPG(gnupghome=homedir)
中创建一个新目录,b)根据需要更改该目录的所有权和权限,然后将其用作gpp.gnupg.GPG的主目录。