Udostępnij przez


Synchronizowanie repozytorium GitHub w programie Workflow Orchestration Manager

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Tip

Wypróbuj Data Factory in Microsoft Fabric, kompleksowe rozwiązanie analityczne dla przedsiębiorstw. Microsoft Fabric obejmuje wszystko od przemieszczania danych po naukę o danych, analitykę w czasie rzeczywistym, inteligencję biznesową i raportowanie. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

Ważne

1 stycznia 2026 r. nie będzie już można tworzyć nowych wystąpień Airflow za pomocą ADF Workflow Orchestration Manager. Zalecamy przeprowadzenie migracji wszystkich obciążeń programu Workflow Orchestration Manager (Apache Airflow w usłudze Azure Data Factory) do zadań apache Airflow w usłudze Microsoft Fabric przed 31 grudnia 2025 r.

Aby uzyskać więcej informacji lub uzyskać pomoc techniczną podczas migracji do platformy Apache Airflow w usłudze Microsoft Fabric, skontaktuj się z pomocą techniczną firmy Microsoft.

Prerequisites

Korzystanie z interfejsu użytkownika programu Workflow Orchestration Manager

Aby zsynchronizować repozytorium GitHub przy użyciu interfejsu użytkownika programu Workflow Orchestration Manager:

  1. Upewnij się, że repozytorium zawiera niezbędne foldery i pliki:

    • dags/: Dla platformy Apache Airflow grafy acykliczne skierowane (DAGs) (wymagane).

    • Wtyczki/: w celu integracji funkcji zewnętrznych z funkcją Airflow.

      Zrzut ekranu przedstawiający strukturę folderów Airflow w usłudze GitHub.

  2. Podczas tworzenia jednostki uruchomieniowej integracji w ramach Workflow Orchestration Manager wybierz Włącz synchronizację git w oknie dialogowym Konfiguracja środowiska Airflow.

    Zrzut ekranu przedstawiający pole wyboru Włącz synchronizację git w oknie dialogowym Konfiguracja środowiska Airflow, które jest wyświetlane podczas tworzenia środowiska Airflow Integration Runtime.

  3. Wybierz jeden z następujących obsługiwanych typów usług Git:

    • GitHub
    • ADO
    • GitLab
    • Bitbucket

    Zrzut ekranu przedstawiający listę rozwijaną wyboru typu usługi Git w oknie dialogowym konfiguracji środowiska, które pojawia się podczas tworzenia środowiska uruchomieniowego dla integracji Workflow Orchestration Manager.

  4. Wybierz typ poświadczeń:

    • Brak (w przypadku repozytorium publicznego): po wybraniu tej opcji upewnij się, że widoczność repozytorium jest publiczna. Następnie wypełnij szczegóły:

      • Adres URL repozytorium Git (wymagany): adres URL klonowania dla żądanego repozytorium GitHub.
      • Gałąź Git (wymagana): gałąź bieżąca, w której znajduje się żądane repozytorium Git.
    • Osobisty token dostępu usługi Git: po wybraniu tej opcji osobistego tokenu dostępu wypełnij pozostałe pola na podstawie wybranego typu usługi Git:

      • Osobisty token dostępu w usłudze GitHub
      • Osobisty token dostępu ADO
      • Osobisty token dostępu usługi GitLab
      • Osobisty token dostępu bitbucket

      Zrzut ekranu przedstawiający opcje poświadczeń Git PAT w oknie dialogowym konfiguracji środowiska Airflow, które pojawia się podczas tworzenia Integration Runtime dla programu Workflow Orchestration Manager.

    • Nazwa SPN (nazwa główna usługi): tylko ADO obsługuje ten typ poświadczeń. Po wybraniu tej opcji wypełnij pozostałe pola na podstawie wybranego typu usługi Git:

      • Adres URL repozytorium Git (wymagany): adres URL klonowania do repozytorium Git do synchronizacji.
      • Gałąź Git (wymagana): gałąź w repozytorium do synchronizacji.
      • Identyfikator aplikacji jednostki usługi (wymagany): identyfikator aplikacji jednostki usługi z dostępem do repozytorium ADO do synchronizacji.
      • Klucz tajny jednostki usługi (wymagany): ręcznie wygenerowany wpis tajny w jednostce usługi, którego wartość jest używana do uwierzytelniania i uzyskiwania dostępu do repozytorium ADO.
      • Identyfikator dzierżawy głównej usługi (wymagany): Identyfikator dzierżawy głównej usługi.

      Zrzut ekranu przedstawiający opcje poświadczeń SPN Git w oknie dialogowym konfiguracji środowiska Airflow, wyświetlany podczas tworzenia Integration Runtime dla Workflow Orchestration Manager.

  5. Wypełnij pozostałe pola wymaganymi informacjami.

  6. Wybierz Utwórz.

Korzystanie z interfejsu API REST

Aby zsynchronizować repozytorium GitHub przy użyciu interfejsu API REST:

  • , metoda: PUT

  • Adres URL: https://management.azure.com/subscriptions/<subscriptionid>/resourcegroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<datafactoryName>/integrationruntimes/<airflowEnvName>?api-version=2018-06-01

  • Parametry identyfikatora URI:

    Name In Required Typ Description
    Identyfikator subskrypcji ścieżka True ciąg Identyfikator subskrypcji
    Nazwa grupy zasobów ścieżka True ciąg Nazwa grupy zasobów (wzorzec wyrażenia regularnego: ^[-\w\._\(\)]+$)
    dataFactoryName ścieżka True ciąg Nazwa usługi Azure Data Factory (wzorzec wyrażeń regularnych: ^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$
    airflowEnvName ścieżka True ciąg Nazwa środowiska menedżera orkiestracji przepływu pracy
    Api-version kwerenda True ciąg Wersja interfejsu API
  • Treść żądania (konfiguracja przepływu powietrza):

    Name Typ Description
    name ciąg Nazwa środowiska Airflow
    properties propertyType Właściwości konfiguracji środowiska
  • Typ właściwości:

    Name Typ Description
    Typ ciąg Typ zasobu (przepływ powietrza w tym scenariuszu)
    typeProperties typeProperty Airflow
  • Właściwość typu:

    Name Typ Description
    computeProperties computeProperty Konfiguracja typu obliczeniowego używanego dla środowiska
    airflowProperties airflowProperty Konfiguracja właściwości przepływu powietrza dla środowiska
  • Właściwość obliczeniowa:

    Name Typ Description
    lokalizacja ciąg Lokalizacja środowiska Airflow Integration Runtime jest domyślnie ustawiona na region fabryki danych. Aby utworzyć środowisko Integration Runtime w innym regionie, utwórz nową fabrykę danych w wymaganym regionie.
    computeSize ciąg Rozmiar węzła obliczeniowego, na którym ma działać środowisko Airflow. Przykłady są duże lub małe. Początkowo przydzielane są trzy węzły.
    extraNodes liczba całkowita Każdy dodatkowy węzeł dodaje trzech kolejnych workerów.
  • Właściwość Airflowa:

    Name Typ Description
    airflowVersion ciąg Obsługiwana wersja Apache Airflow. Na przykład 2.4.3.
    airflowRequirements Ciąg tablicy<> Biblioteki języka Python, których chcesz użyć. Na przykład ["flask-bcrypt=0.7.1"]. Może być listą rozdzielaną przecinkami.
    airflowEnvironmentVariables Obiekt (para klucz/wartość) Zmienne środowiskowe, których chcesz użyć. Na przykład { "SAMPLE_ENV_NAME": "test" }.
    gitSyncProperties gitSyncProperty Właściwości konfiguracji usługi Git.
    enableAADIntegration boolean Umożliwia usłudze Microsoft Entra ID logowanie się do programu Workflow Orchestration Manager.
    userName ciąg lub wartość null Nazwa użytkownika uwierzytelniania podstawowego.
    hasło ciąg lub wartość null Hasło do uwierzytelniania podstawowego.
  • Właściwość synchronizacji usługi Git:

    Name Typ Description
    gitServiceType ciąg Usługa Git, w której znajduje się żądane repozytorium. Wartości to GitHub, ADO, GitLab lub Bitbucket.
    gitCredentialType ciąg Typ poświadczeń usługi Git. Wartości to PAT (dla osobistego tokenu dostępu), SPN (obsługiwany tylko przez ADO) i Brak.
    repozytorium ciąg Link do repozytorium.
    branch ciąg Gałąź do wykorzystania w repozytorium.
    nazwa użytkownika ciąg Nazwa użytkownika usługi GitHub.
    Credential ciąg Wartość PAT.
    tenantId ciąg Identyfikator dzierżawy jednostki usługi (obsługiwany tylko przez ADO).
  • Responses:

    Name Kod stanu Typ Description
    Accepted 200 Factory OK
    Unauthorized 401 Błąd chmury Tablica z bardziej szczegółowymi informacjami o błędzie

Examples

Zapoznaj się z poniższymi przykładami.

Przykładowe żądanie:

HTTP
PUT https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/abnarain-rg/providers/Microsoft.DataFactory/factories/ambika-df/integrationruntimes/sample-2?api-version=2018-06-01

Przykładowa treść:

{
   "name": "sample-2",
   "properties": {
      "type": "Airflow",
      "typeProperties": {
         "computeProperties": {
            "location": "East US",
            "computeSize": "Large",
            "extraNodes": 0
         },
         "airflowProperties": {
            "airflowVersion": "2.4.3",
            "airflowEnvironmentVariables": {
               "AIRFLOW__TEST__TEST": "test"
            },
            "airflowRequirements": [
               "apache-airflow-providers-microsoft-azure"
            ],
            "enableAADIntegration": true,
            "userName": null,
            "password": null,
            "airflowEntityReferences": []
         }
      }
   }
}

Przykładowa odpowiedź:

Status code: 200 OK

Treść odpowiedzi:

{
   "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/your-rg/providers/Microsoft.DataFactory/factories/your-df/integrationruntimes/sample-2",
   "name": "sample-2",
   "type": "Microsoft.DataFactory/factories/integrationruntimes",
   "properties": {
      "type": "Airflow",
      "typeProperties": {
         "computeProperties": {
            "location": "East US",
            "computeSize": "Large",
            "extraNodes": 0
         },
         "airflowProperties": {
            "airflowVersion": "2.4.3",
            "pythonVersion": "3.8",
            "airflowEnvironmentVariables": {
               "AIRFLOW__TEST__TEST": "test"
            },
            "airflowWebUrl": "https://e57f7409041692.eastus.airflow.svc.datafactory.azure.com/login/",
            "airflowRequirements": [
               "apache-airflow-providers-microsoft-azure"
            ],
            "airflowEntityReferences": [],
            "packageProviderPath": "plugins",
            "enableAADIntegration": true,
            "enableTriggerers": false
         }
      },
      "state": "Initial"
   },
   "etag": "3402279e-0000-0100-0000-64ecb1cb0000"
}

Oto kilka przykładów ładunku interfejsu API:

  • Właściwości synchronizacji Git dla GitHub z osobistym tokenem dostępu:

    "gitSyncProperties":  {
            "gitServiceType": "Github",
            "gitCredentialType": "PAT",
            "repo":  <repo url>,
            "branch": <repo branch to sync>,
            "username": <username>,
            "credential": <personal access token>
    }
    
  • Właściwości synchronizacji Git dla Azure DevOps z PAT (osobistym tokenem dostępu):

    "gitSyncProperties":  {
            "gitServiceType": "ADO",
            "gitCredentialType": "PAT",
            "repo":  <repo url>,
            "branch": <repo branch to sync>,
            "username": <username>,
            "credential": <personal access token>
    }
    
  • Właściwości synchronizacji usługi Git dla ADO z jednostką usługi:

    "gitSyncProperties":  {
            "gitServiceType": "ADO",
            "gitCredentialType": "SPN",
            "repo":  <repo url>,
            "branch": <repo branch to sync>,
            "username": < service principal app id >,
            "credential": <service principal secret value>
            "tenantId": <service principal tenant id>
    }
    
  • Właściwości synchronizacji usługi Git dla publicznego repozytorium GitHub:

    "gitSyncProperties":  {
            "gitServiceType": "Github",
            "gitCredentialType": "None",
            "repo":  <repo url>,
            "branch": <repo branch to sync>
    }
    

Importowanie pakietu prywatnego za pomocą usługi Git Sync

Ten opcjonalny proces ma zastosowanie tylko w przypadku korzystania z pakietów prywatnych.

W tym procesie przyjęto założenie, że pakiet prywatny został automatycznie zsynchronizowany za pośrednictwem synchronizacji usługi Git. Pakiet należy dodać jako wymaganie w interfejsie użytkownika programu Workflow Orchestration Manager wraz z prefiksem ścieżki /opt/airflow/git/\<repoName\>/, jeśli łączysz się z repozytorium ADO. Użyj /opt/airflow/git/\<repoName\>.git/ dla wszystkich innych usług Git.

Jeśli na przykład pakiet prywatny znajduje się w /dags/test/private.whl repozytorium GitHub, należy dodać wymaganie /opt/airflow/git/\<repoName\>.git/dags/test/private.whl w środowisku Menedżera orkiestracji przepływu pracy.

Zrzut ekranu przedstawiający sekcję Wymagania dotyczące Airflow w oknie dialogowym konfiguracji środowiska Airflow, które pojawia się podczas tworzenia środowiska uruchomieniowego integracji Workflow Orchestration Manager.