如果环境变量仅被单个函数使用,是否有理由在函数本身之外定义它们?
示例:
# Env variables retrieved **inside** function
def retrieve_keyvault_secrets(kv_client):
try:
dl_s3_access_key = kv_client.get_secret(os.environ["S3_AK_SECRET_NAME"])
dl_s3_secret_key = kv_client.get_secret(os.envrion["S3_SK_SECRET_NAME"])
except Exception as e:
logging.error(f'Error retrieving key vault secrets: {e}')
return dl_s3_access_key,dl_s3_secret_key
对比
# Env variables defined **outside** function and passed in
dl_s3_access_key = os.environ["S3_AK_SECRET_NAME"]
dl_s3_secret_key = os.envrion["S3_SK_SECRET_NAME"]
def retrieve_keyvault_secrets(kv_client,dl_s3_access_key,dl_s3_secret_key):
try:
dl_s3_access_key = kv_client.get_secret(dl_s3_access_key)
dl_s3_secret_key = kv_client.get_secret(dl_s3_secret_key)
except Exception as e:
logging.error(f'Error retrieving key vault secrets: {e}')
return dl_s3_access_key,dl_s3_secret_key