我在远程集群中有一个脚本(RegisterKerbTicketAndOAuth.sh文件(
我正在使用ssh操作员从Airflow连接到远程集群,并成功登录,这是成功的
现在的问题是,当我运行像这样的sh文件时
sh RegisterKerbTicketAndOAuth.sh userID@azureprd.onmicrosoft.com
上面的命令将在运行时提示两次密码,如下所示:
Enter password for this1:: XXXXXX
Enter password for this2:: XXXXXX
如何在气流中通过运行时
kinitCommandScript = """
sh RegisterKerbTicketAndOAuth.sh userID@azureprd.onmicrosoft.com
"""
我的任务看起来像这个
kinitAuthentication = SSHOperator(
ssh_hook = ConnectingToSSH, #SSHconnectionDetails
task_id='GenerateTokenToRunDownstreamTasks',
command= kinitCommandScript,
#params={'my_param':NONFEDPASSWORD},
dag=dag)
上述评论"#params";没用。有人能建议如何在运行时在气流中为我的shell脚本传递密码吗。
注意:尝试使用BashOperator,与上述相同
这是一个关于如何从一些自动化进程运行shell脚本的问题。答案完全取决于脚本的编写方式以及它调用的命令/工具。一个常见的建议是使用环境变量来存储密码。SSHOperator
通过其environment
参数支持这一点。您应该使用什么环境变量,或者实际上这种方法是否有效,100%取决于您的脚本正在做什么。