Konfiguracja usługi Databricks Apps
Ważne
Aplikacje usługi Databricks są w publicznej wersji zapoznawczej.
W tym artykule opisano ustawienia skonfigurowane automatycznie w środowisku usługi Databricks Apps i wyjaśniono, jak zdefiniować konfigurację niestandardową wymaganą dla aplikacji.
Środowisko usługi Databricks Apps ustawia kilka zmiennych środowiskowych, takich jak adres URL obszaru roboczego usługi Azure Databricks z uruchomioną aplikacją i wartości wymagane do przeprowadzenia uwierzytelniania aplikacji. Jednak czasami aplikacje będą wymagać dodatkowych zmiennych niestandardowych. Na przykład może być konieczne niestandardowe polecenie, aby uruchomić aplikację lub parametry w celu nawiązania połączenia z usługą SQL Warehouse. W przypadku tych niestandardowych parametrów konfiguracji użyj app.yaml
pliku .
Konfigurowanie aplikacji usługi Databricks przy użyciu app.yaml
pliku
Uwaga
Plik konfiguracji aplikacji może używać .yaml
rozszerzenia lub .yml
.
Aby zdefiniować konfigurację niestandardową app.yaml
aplikacji, dodaj plik do projektu. W poniższej tabeli przedstawiono ustawienia, które można zdefiniować w app.yaml
pliku, a następnie przykładowe pliki konfiguracji.
Ustawienia usługiapp.yaml |
---|
command Typ: sequence Opcjonalny zestaw argumentów do uruchamiania aplikacji. Użyj tego ustawienia, gdy wymagane jest niestandardowe polecenie do uruchomienia aplikacji. Wartości domyślne to [python, app.py] .Polecenie nie jest uruchamiane w powłoce, więc żadne wartości ustawione w środowisku nie są przekazywane do aplikacji. Jeśli aplikacja wymaga uruchomienia dodatkowych parametrów, użyj env struktury.To ustawienie jest opcjonalne. |
env Typ: list Klucz najwyższego poziomu dla opcjonalnej listy par klucz-wartość definiujących zmienne środowiskowe do przekazania do aplikacji. Może value to być rzeczywista wartość parametru lub odwołanie do miejsca przechowywania wartości. Prawidłowe elementy na liście to:- name : nazwa zmiennej środowiskowej.- Jeden z: - value : wartość zmiennej środowiskowej.- valueFrom : w przypadku wartości zdefiniowanej zewnętrznie nazwa źródła zawierającego wartość. Na przykład nazwa wpisu tajnego lub tabeli bazy danych zawierającej wartość.To ustawienie jest opcjonalne. |
Przykład app.yaml
aplikacji Streamlit
Poniższy przykładowy app.yaml
plik konfiguracji uruchamia aplikację Streamlit, przekazując identyfikator usługi SQL Warehouse i wartość parametru STREAMLIT_GATHER_USAGE_STATS
:
command: [
"streamlit",
"run",
"app.py"
]
env:
- name: "DATABRICKS_WAREHOUSE_ID"
value: "quoz2bvjy8bl7skl"
- name: "STREAMLIT_GATHER_USAGE_STATS"
value: "false"
Przykład app.yaml
aplikacji platformy Flask
Poniższy przykładowy app.yaml
plik konfiguracji uruchamia aplikację Flask z serwerem Gunicorn i ustawia zmienną środowiskową zawierającą ścieżkę do woluminu wykazu aparatu Unity:
command:
- gunicorn
- app:app
- -w
- 4
env:
- name: "VOLUME_URI"
value: "/Volumes/catalog-name/schema-name/dir-name"
Odwołanie do wpisu tajnego usługi Databricks
Aby odwołać się do wpisu tajnego skonfigurowanego jako zależność zasobu dla aplikacji, ustaw valueFrom: <dependency_name>
w env
sekcji app.yaml
konfiguracji. Zastąp dependency_name
wartość kluczem zasobu z konfiguracji zasobu tajnego. Aby dowiedzieć się więcej na temat zależności zasobów usługi Databricks Apps, zobacz Jak mogę zintegrować aplikację usługi Databricks z usługami Azure Databricks?. Aby dowiedzieć się więcej na temat zarządzania wpisami tajnymi usługi Databricks, zobacz Zarządzanie wpisami tajnymi.
Poniższy przykład app.yaml
odwołuje się do wpisu tajnego skonfigurowanego jako zależność zasobu:
command: [
"python",
"app.py"
]
env:
- name: "SECRET_KEY"
valueFrom: "secret-name"
Zmienne środowiskowe usługi Databricks Apps
Następujące zmienne są automatycznie ustawiane w środowisku usługi Databricks Apps i dostępne dla wszystkich aplikacji. Jeśli musisz ustawić dodatkowe zmienne środowiskowe, dodaj je do pliku app.yaml.
Zmienna | opis |
---|---|
DATABRICKS_APP_NAME |
Nazwa uruchomionej aplikacji. |
DATABRICKS_WORKSPACE_ID |
Unikatowy identyfikator obszaru roboczego usługi Databricks, do którego należy aplikacja. |
DATABRICKS_HOST |
Adres URL obszaru roboczego usługi Databricks, do którego należy aplikacja. |
DATABRICKS_APP_PORT |
Port sieciowy, na który aplikacja powinna nasłuchiwać. |
DATABRICKS_CLIENT_ID |
Identyfikator klienta jednostki usługi Databricks przypisanej do aplikacji. |
DATABRICKS_CLIENT_SECRET |
Wpis tajny OAuth dla jednostki usługi Databricks przypisanej do aplikacji. |
Domyślne zmienne środowiskowe dla usługi Streamlit
Następujące zmienne specyficzne dla usługi Streamlit są automatycznie konfigurowane w środowisku usługi Databricks Apps i dostępne dla aplikacji usługi Databricks korzystających ze struktury Streamlit:
Zmienna | opis |
---|---|
STREAMLIT_SERVER_ADDRESS |
Adres serwera do użycia przez usługę Streamlit. Ta wartość jest ustawiona na 0.0.0.0 i nie może być zastępowana. |
STREAMLIT_SERVER_PORT |
Port używany przez usługę Streamlit. Ta wartość jest ustawiona na DATABRICKS_APP_PORT i nie może być zastępowana. |
STREAMLIT_SERVER_ENABLE_XSRF_PROTECTION |
Ponieważ odwrotny serwer proxy aplikacji usługi Databricks chroni przed fałszerzością żądań między witrynami (XSRF), jest to ustawione na false wartość . |
STREAMLIT_SERVER_ENABLE_CORS |
Ponieważ odwrotny serwer proxy usługi Databricks Apps chroni przed współużytkowanie zasobów między źródłami (CORS), wartość jest ustawiona na false wartość . |
STREAMLIT_SERVER_HEADLESS |
Jest to ustawione tak, aby true funkcja Streamlit działa bez otwierania okna przeglądarki podczas uruchamiania. |
STREAMLIT_BROWSER_GATHER_USAGE_STATS |
Ma to na celu false zapobieganie wysyłaniu statystyk użytkowników do usługi Streamlit. |