python - 如何从 paged.SecretItemPaged 类型对象中获取秘密值
问题描述
我想使用 Python API 从给定的 SecretID 中获取 Secret 值。我有以下代码。在最后一行,我尝试使用 get_secret_versions 函数获取 SECRET_VERSION。该函数返回 SecretItemPaged 类型的 Object。有人可以帮忙从这个对象中检索 secret_version。
#!/usr/bin/python
from azure.keyvault import KeyVaultClient
from azure.common.credentials import ServicePrincipalCredentials
import pprint
#from msrestazure.azure_active_directory import
ServicePrincipalCredentials
credentials = ServicePrincipalCredentials(
client_id = 'XXX',
secret = 'XXX',
tenant = 'XXX'
)
client = KeyVaultClient(credentials)
VAULT_URL='https://xxxxxxx.vault.azure.net'
SECRET_ID='https://xxxxxxxx.vault.azure.net/secrets/2345mat'
SECRET_VERSION= client.get_secret_versions(VAULT_URL , SECRET_ID)
解决方案
SecretItemPaged 是对象的迭代器,遵循 Python 协议: https ://docs.python.org/3/glossary.html#term-iterable https://docs.python.org/3/glossary.html#term -迭代器
话虽这么说,然后您可以使用 alist
来使用它,或者next
调用直到您获得一个StopIteration
对象等。
最简单的方法是将其作为列表使用:
list(client.get_secret_versions(VAULT_URL , SECRET_ID))
推荐阅读
- python - 在 html 模板中同时显示烧瓶变量
- python-3.x - Gzip 从一个 s3 存储桶解压缩到另一个
- java - 如何通过 sqoop-import 更改临时使用的目录?
- dependency-injection - Cosmos DB 的依赖注入不会创建 documentClient 对象
- mysql - 查询父表时如何获取子表列的总和?
- r - 如何在 R 中创建带下标的列名?
- angular - Nginx 如何始终在某个端口运行 server.js 文件(不是 html)?
- python - 如何在不覆盖数据的情况下将字典附加到列表
- angular - Angular:无法重新生成对象数组
- python - 如何使用python将数组的列存储到不同的变量中?