Lakebase 데이터베이스 인스턴스를 Databricks Apps 리소스로 추가하여 배포 간에 데이터를 유지합니다. 이러한 PostgreSQL 지원 리소스를 사용하면 앱이 상태를 유지하는 스키마 및 테이블을 만들고 관리할 수 있습니다.
중요합니다
Lakebase 데이터베이스 인스턴스는 공개 미리 보기로 제공됩니다. 작업 영역 관리자는 이를 앱 리소스로 추가하기 전에 사용하도록 설정해야 합니다.
데이터베이스 리소스 추가
Lakebase 데이터베이스 인스턴스를 리소스로 추가하기 전에 앱 리소스 필수 구성 요소를 검토합니다.
- 앱을 만들거나 편집할 때 구성 단계로 이동합니다.
- 앱 리소스 섹션에서 + 리소스 추가를 클릭합니다.
- 리소스 유형으로 데이터베이스 를 선택합니다.
- 데이터베이스 인스턴스를 선택합니다.
- 해당 인스턴스 내에서 데이터베이스를 선택합니다.
- 앱에 대한 적절한 사용 권한 수준을 선택합니다. 현재 사용 가능한 유일한 사용 권한은 연결할 수 있고 만들 수 있습니다.
- (선택 사항) 앱 구성에서 데이터베이스를 참조하는 방법인 사용자 지정 리소스 키를 지정합니다. 기본 키는 .입니다
database.
데이터베이스 리소스를 추가하는 경우:
- Azure Databricks는 선택한 데이터베이스 인스턴스에서 PostgreSQL 역할을 만듭니다. 역할 이름은 서비스 주체의 클라이언트 ID와 일치합니다. 역할이 이미 있는 경우 Azure Databricks는 해당 역할을 다시 사용합니다.
- Azure Databricks는 선택한 데이터베이스에 대한 서비스 주체
CONNECT및CREATE권한을 부여합니다. 이러한 권한을 통해 앱은 데이터베이스에 스키마와 테이블을 만들 수 있습니다.
환경 변수
데이터베이스 리소스를 사용하여 앱을 배포하는 경우 Azure Databricks는 첫 번째 데이터베이스 리소스에 대해 다음 환경 변수를 설정합니다.
앱에서 여러 데이터베이스를 사용하는 경우 이러한 변수는 첫 번째 데이터베이스만 반영합니다. 리소스 키를 사용하여 valueFrom 데이터베이스의 호스트 이름을 검색합니다.
환경 변수를 사용하여 리소스에 액세스하는 방법을 참조하세요.
| 변수 | 설명 |
|---|---|
PGAPPNAME |
앱 이름 |
PGDATABASE |
데이터베이스 이름 |
PGHOST |
PostgreSQL 서버의 호스트 이름 |
PGPORT |
PostgreSQL 서버의 포트 |
PGSSLMODE |
연결에 대한 SSL 모드 |
PGUSER |
서비스 주체의 클라이언트 ID 및 역할 이름 |
데이터베이스 리소스 제거
앱에서 데이터베이스 리소스를 제거하는 경우 앱은 서비스 주체가 소유한 모든 개체를 리소스를 제거하는 사용자에게 다시 할당하려고 시도합니다.
앱에서 사용하는 논리는 주로 데이터베이스 인스턴스에 역할이 있는지 여부에 따라 달라집니다.
| 사용 권한 | 데이터베이스 인스턴스의 역할 | 결과 |
|---|---|---|
CAN MANAGE |
예 | Azure Databricks는 서비스 주체가 소유한 모든 개체를 사용자에게 다시 할당하고 서비스 주체의 역할을 삭제합니다. |
CAN MANAGE |
아니오 | Azure Databricks는 사용자를 위한 역할을 생성하고, 서비스 주체 역할이 소유한 모든 개체를 사용자에게 다시 할당하며, 그 역할을 삭제합니다. |
아니요 CAN MANAGE |
해당 없음(N/A) | Azure Databricks는 리소스를 제거하지만 역할을 삭제하거나 소유권을 다시 할당하지는 않습니다. UI에 경고가 나타나고 나중에 역할 및 소유 개체를 수동으로 정리해야 합니다. |
비고
앱 리소스로 데이터베이스를 추가할 때 다음을 고려합니다.
- 동일한 업데이트에서 한 데이터베이스에서
CONNECT및CREATE권한을 취소하고 다른 데이터베이스에 이를 부여하게 되면, Azure Databricks는 권한을 업데이트하지만 서비스 주체의 역할을 다시 생성하지는 않습니다. - 데이터베이스는 상태를 유지합니다. 앱을 다시 배포하거나 중지한 후에도 앱에서 만든 스키마 또는 테이블은 그대로 유지됩니다.