Menentukan variabel lingkungan dalam aplikasi Databricks

Azure Databricks secara otomatis mengatur variabel lingkungan tertentu di lingkungan runtime aplikasi. Variabel ini memberikan informasi penting tentang aplikasi dan ruang kerja, dan dapat diakses oleh semua aplikasi Databricks secara default. Untuk daftar variabel default, lihat Lingkungan Aplikasi Databricks.

Jika aplikasi Anda memerlukan variabel lingkungan tambahan, tentukan di file konfigurasi app.yaml di bagian .env Setiap variabel memerlukan nama dan nilai. Variabel dapat menggunakan nilai yang dikodekan secara permanen atau mereferensikan sumber eksternal.

Contohnya:

env:
  - name: LOG_LEVEL
    value: 'debug'

Hanya nilai hardcode saat statis, tidak sensitif, dan konsisten di seluruh lingkungan. Contohnya termasuk value: "true" untuk tombol fitur, value: "us-west" untuk wilayah tetap, atau value: "UTC" untuk zona waktu default.

Penting

Untuk menjaga aplikasi Anda tetap aman dan portabel, jangan pernah mereferensikan kunci rahasia atau nilai sensitif lainnya langsung di konfigurasi aplikasi Anda. Misalnya, hindari menyematkan nilai rahasia di value bidang variabel lingkungan atau langsung di kode sumber Anda. Sebagai gantinya, gunakan bidang valueFrom untuk mereferensikan rahasia secara aman dan sumber daya terkelola lainnya yang telah ditentukan dalam blok sumber daya Anda. Ini memastikan rahasia diambil dari Azure Databricks saat runtime dan tidak pernah diekspos dalam teks polos dalam file konfigurasi Anda.

Menggunakan variabel lingkungan untuk mengakses sumber daya

Jika Anda menentukan sumber daya aplikasi, seperti gudang SQL atau rahasia, referensikan sumber daya ini menggunakan bidang env di bagian app.yaml file Anda valueFrom. Ini menghubungkan variabel lingkungan di aplikasi Anda ke kunci sumber daya yang ditentukan dalam resources.

Contoh app.yaml cuplikan:

env:
  - name: WAREHOUSE_ID
    valueFrom: sql_warehouse

  - name: SECRET_KEY
    valueFrom: secret

Kemudian, dalam kode aplikasi Anda, akseslah mereka sebagai variabel lingkungan.

Python

import os

warehouse_id = os.getenv("WAREHOUSE_ID")
secret_value = os.getenv("SECRET_KEY")

JavaScript

const warehouseId = process.env.WAREHOUSE_ID;
const secretValue = process.env.SECRET_KEY;

valueFrom referensi

Tabel berikut ini memperlihatkan nilai yang valueFrom diselesaikan untuk setiap jenis sumber daya:

Jenis sumber daya Nilai yang sudah ditentukan Example
Aplikasi Databricks Nama aplikasi my-app
Genie Space ID Ruang 01ef1fa2b3c45678
Database Lakebase Autoscaling Jalur titik akhir projects/my-project/branches/main/endpoints/ep123
Database yang Disediakan Lakebase Tuan rumah postgres-host.example.com
Pekerjaan Lakeflow ID Pekerjaan 123456789
Eksperimen MLflow ID Eksperimen 456789012
Titik akhir penyajian model Nama titik akhir my-serving-endpoint
Rahasia Nilai rahasia yang didekripsi (nilai rahasia)
Gudang SQL ID Gudang a1b2c3d4e5f67890
Koneksi Katalog Unity Nama koneksi my_connection
Tabel Katalog Unity Nama lengkap tabel catalog.schema.table
Volume Katalog Unity Jalur volume /Volumes/catalog/schema/volume
Fungsi yang ditentukan pengguna Nama lengkap fungsi catalog.schema.my_function
Indeks pencarian vektor Nama lengkap indeks catalog.schema.my_index

Langkah selanjutnya