Udostępnij za pośrednictwem


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 falsewartość .
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 falsewartość .
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.