我在aws-cli中运行命令以获取日志,并且我需要在python中使用此命令的输出执行一些操作。
我正在做这样的事情:
aws logs filter-log-events --log-group-name "something" --log-stream-names my-log-stream --filter-pattern "status=FAIL" | python3 -c "import sys, json; print(json.load(sys.stdin))"
上面的命令获取aws日志并运行python代码片段以打印返回的json。
我想在我的python代码段中访问log-group-name
andlog-stream-name
即“ something”和“ my-log-stream”(在这种情况下)。我不确定如何做到这一点。
我试过使用,sys.argv
但它返回给我在python命令中传递的参数,即['-c']
不是aws命令。
这不是管道的工作方式。它只是将命令的输出发送到下一个命令。您可以将log-group-name
和设置log-stream-name
为环境变量
export LGN=something
...
然后使用os.environ["LGN"]
...类似的方式在python中访问它
export LGN="my-log-group"; <your code here> | python3 -c "import os; print(os.environ['LGN'])"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句