Skip to content

Python

import

from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient
from azure.core.exceptions import (    
    ServiceRequestError,
    ResourceNotFoundError,
)

get keyvault secret

https://stackoverflow.com/questions/64613699/how-to-add-azure-python-sdk-exceptions-to-try-except-statements

def get_keyvault_secret(
    vault_url: str,
    secret_name: str,
) -> dict:
    credential = DefaultAzureCredential()
    client = SecretClient(vault_url=vault_url, credential=credential)

    data = None
    try:
        secret = client.get_secret(secret_name)
        data = json.loads(secret.value)
    except ServiceRequestError:
        msg = f'Error connecting to Azure Key Vault: {vault_url}'
        warnings.warn(msg, RuntimeWarning)
    except ResourceNotFoundError:
        msg = (
            f'Secret name `{secret_name}` not '
            f'found in Azure Key Vault `{vault_url}`'
        )
        warnings.warn(msg, RuntimeWarning) 
    return data