这个问题通常是由于GnuPG的环境变量设置不正确引起的。您可以使用以下代码重置环境变量,并在AWS Lambda函数中使用GnuPG解密数据:
import os
import subprocess
def lambda_handler(event, context):
os.environ['GNUPGHOME'] = '/tmp' # or any path where you want to store gpg configuration
subprocess.call('gpg --import /tmp/your-private-key-file.asc', shell=True)
subprocess.call('gpg --output /tmp/out.txt --decrypt /tmp/encrypted-data.txt.gpg', shell=True)
在这个例子中,我们重置了 GNUPGHOME 变量,将其设置为/tmp文件夹,使用 subprocess 调用 gpg 命令,并将其导入私钥文件并解密数据。
确保您已经在AWS Lambda Layer中安装了 gpg,并在本地测试中成功执行了相同的代码。