【发布时间】:2022-08-09 22:52:37
【问题描述】:
我正在尝试遍历 key:value 列表并在 hvac 方法中插入 python dict() 以在 Vault 中创建或更新机密。
我在文件中有一个键:值列表:
key1:value1
key2:value2
key3:value3
import hvac
def write_secret():
client = hvac.Client(url=\'http://localhost:8200\')
print(f\" Is client authenticated: {client.is_authenticated()}\")
with open(\"keylist.txt\") as keyfile:
for line in keyfile:
key, value = line.split(\":\", 1)
key=key.strip()
value=value.strip()
client.secrets.kv.v2.create_or_update_secret(
path = \'keys\',
secret = dict(
key=value
),
cas = 0,
)
write_secret()
上面脚本中最终发生的事情是单个键:值对将被写入 Vault。
预期的行为将是在 Vault 中具有以下内容:
key1:value1
key2:value2
key3:value3
我得到的是:
key:value3 --> it seems like the values are iterating but the keys are not getting passed in
任何帮助,将不胜感激!如果需要更多信息,我会更新帖子。
谢谢!
-
dict(key=value)创建一个字典,其中的键字面意思是key。您希望{key: value}让两个元素都是变量。 -
@jasonharper
{key: value}修复了未传入的密钥。谢谢!