如何在python脚本中访问秘密变量

问题描述

我有一个简单的脚本来读取 azure-pipeline 中设置的秘密变量。 我可以直接从“脚本”步骤打印,但无法在 python 脚本中解析。 当我内联打印时,它可以工作。 这似乎是一件非常基本的事情,但我已经检查了很多博客和选项。 这个博客似乎在谈论我面临的问题:https://brandonsnotepad.wordpress.com/2021/04/23/azure-devops-secret-variables-python/ 但没有帮助:( 到目前为止我还没有让它工作。

工作:

fig=plt.figure(figsize=(20,10),dpi=100)
ax=fig.add_axes([0,1,1])
ax.scatter(x='Speed',y='Port ME Homemade Mass Flow Rate (kg/s)',data=df1before,color='r',marker='1')
ax.scatter(x='Speed',data=df1after,color='b',marker='x')
ax.set_xlabel('Speed(Knot)')
ax.set_ylabel('Port ME Homemade Mass Flow Rate (kg/s)')
#plt.plot(x=df3[len('Speed')],y=df3['Port ME Homemade Mass Flow Rate (kg/s)'].mean())
plt.show()

输出:xxx

以上输出是可以理解的。

我想在我的脚本中包含此令牌以供进一步处理

steps:
- script: echo $TOKEN
  displayName: 'Run a one-line script'
  env:
    TOKEN: $(TOKEN)

测试.py 我尝试了以下选项: 1.

- task: PythonScript@0
  inputs:
    scriptSource: 'filePath'
    scriptPath: './test.py'
    failOnStderr: true
  env:
   TOKEN: $(TOKEN)
  displayName: 'Get Token'

在这种情况下,我收到了这个错误。我使用的是 3.7.10 python 版本

token = os.getenv("TOKEN")

所以我尝试执行 NameError: name 'os' is not defined ,但以这个错误结束。我的理解是 pip install os 是 Python 附带的认包。但是还是根据上面的错误尝试了。

os
  1. 然后我尝试参考我在单行脚本中所做的方式。
ERROR: Could not find a version that satisfies the requirement os (from versions: none)
ERROR: No matching distribution found for os

错误token = $(TOKEN)

  1. 然后假设,因为它是一个变量并从脚本传递,我也试过这个
SyntaxError: invalid Syntax

错误token = TOKEN

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)