Udostępnij za pośrednictwem


Uruchamianie punktów końcowych wsadowych z usługi Azure Data Factory

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)

Dane big data wymagają usługi, która umożliwia organizowanie i operacjonalizacja procesów w celu uściślenia tych ogromnych magazynów nieprzetworzonych danych do praktycznych analiz biznesowych. Azure Data Factory to zarządzana usługa w chmurze, która została utworzona dla tych złożonych hybrydowych projektów integracji wyodrębniania-transformacji-transformacji (ETL), wyodrębniania-ładowania (ELT) i integracji danych.

Usługa Azure Data Factory umożliwia tworzenie potoków, które mogą organizować wiele przekształceń danych i zarządzać nimi jako pojedynczą jednostką. Punkty końcowe usługi Batch są doskonałym kandydatem do uzyskania kroku w takim przepływie pracy przetwarzania. W tym przykładzie dowiesz się, jak używać punktów końcowych wsadowych w działaniach usługi Azure Data Factory, korzystając z działania Web Invoke i interfejsu API REST.

Wymagania wstępne

Uwierzytelnianie względem punktów końcowych wsadowych

Usługa Azure Data Factory może wywoływać interfejsy API REST punktów końcowych wsadowych przy użyciu działania Web Invoke . Punkty końcowe usługi Batch obsługują identyfikator Entra firmy Microsoft na potrzeby autoryzacji, dlatego żądanie skierowane do interfejsów API wymaga odpowiedniej obsługi uwierzytelniania.

Do uwierzytelniania w punktach końcowych usługi Batch można użyć jednostki usługi lub tożsamości zarządzanej. Zalecamy użycie tożsamości zarządzanej, ponieważ upraszcza korzystanie z wpisów tajnych.

  1. Tożsamość zarządzana usługi Azure Data Factory umożliwia komunikowanie się z punktami końcowymi usługi Batch. W takim przypadku musisz tylko upewnić się, że zasób usługi Azure Data Factory został wdrożony przy użyciu tożsamości zarządzanej.

  2. Jeśli nie masz zasobu usługi Azure Data Factory lub został on już wdrożony bez tożsamości zarządzanej, wykonaj następujące kroki, aby go utworzyć: Tożsamość zarządzana dla usługi Azure Data Factory.

    Ostrzeżenie

    Zwróć uwagę, że zmiana tożsamości zasobu po wdrożeniu nie jest możliwa w usłudze Azure Data Factory. Po utworzeniu zasobu należy go ponownie utworzyć, jeśli trzeba zmienić jego tożsamość.

  3. Po wdrożeniu przyznaj dostęp tożsamości zarządzanej zasobu utworzonego w obszarze roboczym usługi Azure Machine Edukacja zgodnie z opisem w temacie Udzielanie dostępu. W tym przykładzie jednostka usługi będzie wymagać:

    1. Uprawnienie w obszarze roboczym do odczytywania wdrożeń wsadowych i wykonywania na nich akcji.
    2. Uprawnienia do odczytu/zapisu w magazynach danych.
    3. Uprawnienia do odczytu w dowolnej lokalizacji w chmurze (konto magazynu) wskazane jako dane wejściowe.

Informacje o potoku

Utworzymy potok w usłudze Azure Data Factory, który może wywołać dany punkt końcowy wsadowy za pośrednictwem niektórych danych. Potok będzie komunikować się z punktami końcowymi usługi Azure Machine Edukacja batch przy użyciu interfejsu REST. Aby dowiedzieć się więcej o sposobie korzystania z interfejsu API REST punktów końcowych wsadowych, zobacz Tworzenie zadań i dane wejściowe dla punktów końcowych wsadowych.

Potok będzie wyglądać następująco:

Diagram that shows th high level structure of the pipeline we are creating.

Składa się z następujących działań:

  • Uruchom usługę Batch-Endpoint: jest to działanie internetowe, które używa identyfikatora URI punktu końcowego wsadowego do wywoływania. Przekazuje identyfikator URI danych wejściowych, w którym znajdują się dane i oczekiwany plik wyjściowy.
  • Oczekiwanie na zadanie: jest to działanie pętli, które sprawdza stan utworzonego zadania i czeka na jego ukończenie, jako Ukończone lub Zakończone. To działanie z kolei używa następujących działań:
    • Sprawdź stan: Jest to działanie internetowe, które wysyła zapytanie o stan zasobu zadania zwróconego jako odpowiedź działania Uruchom punkt końcowy usługi Batch.
    • Czekaj: Jest to działanie oczekiwania, które kontroluje częstotliwość sondowania stanu zadania. Ustawiliśmy wartość domyślną 120 (2 minuty).

Potok wymaga skonfigurowania następujących parametrów:

Parametr Opis Przykładowa wartość
endpoint_uri Identyfikator URI oceniania punktu końcowego https://<endpoint_name>.<region>.inference.ml.azure.com/jobs
poll_interval Liczba sekund oczekiwania przed sprawdzeniem stanu zadania pod kątem ukończenia. Wartość domyślna to 120. 120
endpoint_input_uri Dane wejściowe punktu końcowego. Obsługiwane są wiele typów danych wejściowych. Upewnij się, że tożsamość zarządzania używaną do wykonywania zadania ma dostęp do lokalizacji bazowej. Alternatywnie, jeśli używasz magazynów danych, upewnij się, że poświadczenia są tam wskazane. azureml://datastores/.../paths/.../data/
endpoint_input_type Typ danych wejściowych, które podajesz. Obecnie punkty końcowe wsadowe obsługują foldery (UriFolder) i plik (UriFile). Wartość domyślna to UriFolder. UriFolder
endpoint_output_uri Wyjściowy plik danych punktu końcowego. Musi to być ścieżka do pliku wyjściowego w magazynie danych dołączonym do obszaru roboczego Edukacja maszyny. Nie jest obsługiwany inny typ identyfikatorów URI. Możesz użyć domyślnego magazynu danych usługi Azure Machine Edukacja o nazwie workspaceblobstore. azureml://datastores/workspaceblobstore/paths/batch/predictions.csv

Ostrzeżenie

Należy pamiętać, że endpoint_output_uri powinna to być ścieżka do pliku, który jeszcze nie istnieje. W przeciwnym razie zadanie zakończy się niepowodzeniem z powodu błędu , który już istnieje.

Kroki

Aby utworzyć ten potok w istniejącej usłudze Azure Data Factory i wywołać punkty końcowe wsadowe, wykonaj następujące kroki:

  1. Upewnij się, że środowisko obliczeniowe, w którym działa punkt końcowy wsadowy, ma uprawnienia do instalowania danych, które usługa Azure Data Factory udostępnia jako dane wejściowe. Zwróć uwagę, że dostęp jest nadal udzielany przez tożsamość, która wywołuje punkt końcowy (w tym przypadku azure Data Factory). Jednak obliczenia, w których działa punkt końcowy wsadowy, muszą mieć uprawnienia do instalowania konta magazynu, które zapewnia usługa Azure Data Factory. Aby uzyskać szczegółowe informacje, zobacz Uzyskiwanie dostępu do usług magazynu.

  2. Otwórz program Azure Data Factory Studio i w obszarze Zasoby fabryki kliknij znak plus.

  3. Wybieranie pozycji Importowanie potoku>z szablonu potoku

  4. Zostanie wyświetlony monit o wybranie zip pliku. Używa następującego szablonu, jeśli używasz tożsamości zarządzanych lub następujących, jeśli używasz jednostki usługi.

  5. W portalu zostanie wyświetlona wersja zapoznawcza potoku. Kliknij pozycję Użyj tego szablonu.

  6. Potok zostanie utworzony za pomocą nazwy Run-BatchEndpoint.

  7. Skonfiguruj parametry używanego wdrożenia wsadowego:

Ostrzeżenie

Upewnij się, że punkt końcowy usługi Batch ma domyślne wdrożenie skonfigurowane przed przesłaniem do niego zadania. Utworzony potok wywoła punkt końcowy, dlatego należy utworzyć i skonfigurować domyślne wdrożenie.

Napiwek

Aby uzyskać najlepszą możliwość ponownego użycia, użyj utworzonego potoku jako szablonu i wywołaj go z poziomu innych potoków usługi Azure Data Factory, korzystając z działania Wykonaj potok. W takim przypadku nie należy konfigurować parametrów w potoku wewnętrznym, ale przekazywać je jako parametry z zewnętrznego potoku, jak pokazano na poniższej ilustracji:

Screenshot of the pipeline parameters expected for the resulting pipeline when invoked from another pipeline.

  1. Potok jest gotowy do użycia.

Ograniczenia

Podczas wywoływania wdrożeń wsadowych usługi Azure Machine Edukacja należy wziąć pod uwagę następujące ograniczenia:

Dane wejściowe danych

  • Jako dane wejściowe są obsługiwane tylko magazyny danych usługi Azure Machine Edukacja lub konta usługi Azure Storage (Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2). Jeśli dane wejściowe są w innym źródle, użyj usługi Azure Data Factory działanie Kopiuj przed wykonaniem zadania wsadowego w celu ujścia danych do zgodnego magazynu.
  • Zadania punktu końcowego usługi Batch nie eksplorują zagnieżdżonych folderów i dlatego nie mogą pracować ze zagnieżdżonymi strukturami folderów. Jeśli dane są dystrybuowane w wielu folderach, zwróć uwagę, że trzeba spłaszczyć strukturę.
  • Upewnij się, że skrypt oceniania podany we wdrożeniu może obsługiwać dane zgodnie z oczekiwaniami, które mają być przekazywane do zadania. Jeśli model to MLflow, zapoznaj się z ograniczeniami pod względem typu pliku obsługiwanego przez ten moment w temacie Korzystanie z modeli MLflow we wdrożeniach wsadowych.

Dane wyjściowe

  • W tej chwili obsługiwane są tylko zarejestrowane magazyny danych usługi Azure Machine Edukacja. Zalecamy zarejestrowanie konta magazynu używanego przez usługę Azure Data Factory jako magazynu danych w usłudze Azure Machine Edukacja. W ten sposób będzie można zapisywać z powrotem na tym samym koncie magazynu, z którego czytasz.
  • Tylko konta usługi Azure Blob Storage są obsługiwane w przypadku danych wyjściowych. Na przykład usługa Azure Data Lake Storage Gen2 nie jest obsługiwana jako dane wyjściowe w zadaniach wdrażania wsadowego. Jeśli konieczne jest wyprowadzenie danych do innej lokalizacji/ujścia, użyj działanie Kopiuj usługi Azure Data Factory po wykonaniu zadania wsadowego.

Następne kroki