如何从paged.SecretItemPaged类型对象获取机密值

时间:2019-07-17 10:56:42

标签: python azure-keyvault azure-sdk-python

我想使用Python API从给定的SecretID中获取Secret值。 我有以下代码。在最后一行,我尝试使用get_secret_versions函数获取SECRET_VERSION。该函数返回Object的SecretItemPaged类型。有人可以帮忙从此对象中检索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)

1 个答案:

答案 0 :(得分:0)

SecretItemPaged是对象的迭代器,遵循Python协议: https://docs.python.org/3/glossary.html#term-iterable https://docs.python.org/3/glossary.html#term-iterator

话虽如此,然后您可以使用list来使用它,或进行next调用,直到获得StopIteration对象,等等。

最简单的方法是将其作为列表使用:

list(client.get_secret_versions(VAULT_URL , SECRET_ID))