Skip to main content

Environment variables

Save constants and secrets to an .env file to make them available to UDFs as environment variables.

First, run a File UDF that sets variables in an .env file in the /mnt/cache/ directory.

@fused.udf
def udf():
env_vars = """
MY_ENV_VAR=123
DB_USER=username
DB_PASS=******
"""

# Path to .env file in disk file system
env_file_path = '/mnt/cache/.env'

# Write the environment variables to the .env file
with open(env_file_path, 'w') as file:
file.write(env_vars)

Now, any UDF can load the values from .env as environment variables with the load_dotenv and access them with os.getenv.

@fused.udf
def udf():
from dotenv import load_dotenv

# Load environment variable
env_file_path = '/mnt/cache/.env'
load_dotenv(env_file_path, override=True)

# Access environment variable
print(f"Updated MY_ENV_VAR: {os.getenv('MY_ENV_VAR')}")