如何在Airflow中运行时输入密码



我在远程集群中有一个脚本(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%取决于您的脚本正在做什么。

相关内容

  • 没有找到相关文章

最新更新