Azure Databricks는 앱 런타임 환경에서 특정 환경 변수를 자동으로 설정합니다. 이러한 변수는 앱 및 작업 영역에 대한 필수 정보를 제공하며 기본적으로 모든 Databricks 앱에서 액세스할 수 있습니다. 기본 변수 목록은 Databricks Apps 시스템 환경을 참조하세요.
앱에 추가 환경 변수가 필요한 경우 섹션의 app.yaml 구성 파일에서 env 정의합니다. 각 변수에는 이름과 값이 필요합니다. 변수는 하드 코딩된 값을 사용하거나 외부 원본을 참조할 수 있습니다.
다음은 그 예입니다.
env:
- name: LOG_LEVEL
value: 'debug'
정적이고 민감하지 않으며 환경 전체에서 일관성이 있는 경우에만 값을 하드코드하십시오.
value: "true" 기능 토글, value: "us-west" 고정 지역 또는 value: "UTC" 기본 표준 시간대에 대한 예제가 있습니다.
중요합니다
앱을 안전하고 이식 가능한 상태로 유지하려면 앱 구성에서 비밀 키 또는 기타 중요한 값을 직접 참조하지 마세요. 예를 들어 환경 변수의 필드에 비밀 값을 value 포함하거나 소스 코드에 직접 포함하지 마세요. 대신 필드를 사용하여 valueFrom 리소스 블록에 정의된 비밀 및 기타 관리되는 리소스를 안전하게 참조합니다. 이는 런타임에 Azure Databricks에서 비밀이 검색되도록 하며, 구성 파일에서 비밀이 평문으로 노출되지 않도록 보장합니다.
환경 변수를 사용하여 리소스 액세스
SQL 웨어하우스 또는 비밀과 같은 앱 리소스를 정의하는 경우, env 파일의 app.yaml 섹션에서 이러한 리소스를 valueFrom 필드를 사용하여 참조하십시오. 이렇게 하면 앱의 환경 변수를 에 정의된 리소스 키에 연결합니다 resources.
예제 app.yaml 코드 조각:
env:
- name: WAREHOUSE_ID
valueFrom: sql_warehouse
- name: SECRET_KEY
valueFrom: secret
그런 다음 앱 코드에서 환경 변수로 액세스합니다.
파이썬
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;
Azure Databricks 비밀을 관리하는 방법에 대한 자세한 내용은 비밀 관리를 참조하세요.