Using a workload secret in Spark application code
To use the workload secret credentials, you can read the credentials that are mounted into the Spark drivers and executors as read-only files.
The workload secrets are mounted into the Spark drivers and executors in this path:
      
    /etc/dex/secrets/<workload-credential-name>/<credential-key-1> /etc/dex/secrets/<workload-credential-name>/<credential-key-2>Example workload credentials to use in the application code:
The workload credential is created with the command below.
      
    ./cde credential create --name workload-cred-1 --type workload-credential --workload-cred-key db-pass --workload-cred-key aws-secretThe secrets can be read as local files from the paths below within the Spark drivers and
      executors:
      
    /etc/dex/secrets/workload-cred-1/aws-secret
/etc/dex/secrets/workload-cred-1/db-passExample of a PySpark application code to read a secret:
      
  from pyspark.sql import SparkSession
 
spark = SparkSession \
    .builder \
    .appName("Sample DB Connection") \
    .getOrCreate()
 
# read the password from the local file
dbPass=open("/etc/dex/secrets/workload-cred-1/db-pass").read()
 
# use the password in a jdbc connection
jdbcDF= spark.read \
         .jdbc("jdbc:postgresql:dbserver", "schema.tablename",
         properties={"user": "username", "password": dbPass})