我有一个streamlit应用程序,可以在本地完美运行,但无法部署它。我有这样的台词:
cmd = ['az', 'login']
result = subprocess.run(cmd, capture_output=True, text=True)
字符串
它在本地打开一个Web浏览器,但当我部署它时,它不会打开任何浏览器,并且永远保持运行。
问题是,我希望它使用该特定命令登录,因为Azure帐户是2FA帐户,并且通常放置az login -u username -p password
的方式不起作用。
1条答案
按热度按时间fcipmucu1#
**Streamlit是一个无状态应用程序,因此无法以交互方式使用
az login
,您需要将Streamlit应用程序与Flask应用程序集成,并添加Azure身份验证步骤进行身份验证。请参阅此sample。 另一种方法是创建Azure AD应用程序,并使用它进行身份验证和登录到与Flask集成的流式照明应用程序。我尝试了一个简单的Streamlit代码,它使用
--device-code
运行az login
命令x1c 0d1x的数据
的
的
*我的 app.py代码:-
字符串
此代码不会将您重定向到**https://microsoft.com/devicelogin**,但在您的日志流部分中会看到相同的URL,因为日志流显示了以下Web应用程序的实时启动日志:-
的