GCP Dataflow 上的 GPG 文件解密

GPG file decryption on GCP Dataflow

我有一个文件需要在 GCP Dataflow 管道中解密,我的代码是在 Python 中编写的。我尝试使用子进程远程调用 gpg 命令:

subprocess.call(['gpg', '-d', '/tmp/test.csv.gpg' ,'>', '/tmp/test.csv'])

subprocess.call(['gpg', '-d', '/tmp/test.csv.gpg > /tmp/test.csv'])

但上面的代码片段似乎无法正常工作。因为上面代码执行后并没有创建新的文件。有谁知道如何远程触发这个 gpg 命令?

如有任何帮助,我们将不胜感激。谢谢

所以,经过一番谷歌搜索,我找到了答案。要使用的命令是:

gpg --output doc --decrypt doc.gpg

问题已解决

出现此问题可能是因为 GPG 命令正在读取“/tmp/test.csv.gpg > /tmp/test.csv”作为要打开的文件名,因此它可以解释为什么它不是按预期创建新文件。

因此,更简单的解决方案是更改子流程中的代码,如下所示:

import subprocess
subprocess.call(['gpg', '--output', 'doc', '--decrypt','doc.gpg'])