0

我想使用 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)
4

1 回答 1

0

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))
于 2019-07-17T16:24:26.830 回答