Udostępnij za pośrednictwem


Metadane wyzwalacza odwołania w uruchomieniach potoku

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano sposób użycia metadanych wyzwalacza, takich jak czas rozpoczęcia wyzwalacza, w przebiegu potoku.

Potok czasami musi zrozumieć i odczytać metadane z wyzwalacza, który go wywołuje. Na przykład przy uruchomieniu wyzwalacza okna wirowania na podstawie czasu rozpoczęcia i zakończenia okna potok przetwarza różne wycinki danych lub foldery. W usłudze Azure Data Factory używamy parametryzacji i zmiennych systemowych do przekazywania metadanych z wyzwalaczy do potoków.

Ten wzorzec jest szczególnie przydatny w przypadku wyzwalaczy okien stałoczasowych, w których wyzwalacz udostępnia czas rozpoczęcia i zakończenia okna oraz wyzwalacze zdarzeń niestandardowych, w których wyzwalacz analizuje i przetwarza wartości w niestandardowym polu danych.

Uwaga

Różne typy wyzwalaczy udostępniają różne informacje o metadanych. Aby uzyskać więcej informacji, zobacz Zmienne systemowe.

Interfejs użytkownika usługi Data Factory

W tej sekcji przedstawiono sposób przekazywania informacji o metadanych z wyzwalaczy do potoków w interfejsie użytkownika usługi Data Factory.

  1. Przejdź do kanwy tworzenia i edytuj potok.

  2. Wybierz pustą kanwę, aby wyświetlić ustawienia potoku. Nie wybieraj żadnych działań. Może być konieczne pociągnięcie okienka ustawień z dołu kanwy, ponieważ może być zwinięte.

  3. Wybierz kartę Parametry i wybierz pozycję + Nowy , aby dodać parametry.

    Zrzut ekranu przedstawiający ustawienie potoku pokazujące sposób definiowania parametrów w potoku.

  4. Dodaj wyzwalacze do potoku, wybierając pozycję + Wyzwalacz.

  5. Utwórz lub dołącz wyzwalacz do potoku i wybierz przycisk OK.

  6. Po wybraniu przycisku OK zostanie wyświetlona inna strona Nowego wyzwalacza z listą parametrów określonych dla potoku, jak pokazano na poniższym zrzucie ekranu. Na tej stronie wypełnij metadane wyzwalacza dla każdego parametru. Użyj formatu zdefiniowanego w zmiennych systemowych, aby pobrać informacje o wyzwalaczu. Nie musisz wypełniać informacji dla wszystkich parametrów. Wystarczy wypełnić te, które przyjmą wartości metadanych wyzwalacza. Na przykład tutaj przypisujemy czas rozpoczęcia uruchomienia wyzwalacza do parameter_1.

    Zrzut ekranu przedstawiający stronę Parametry przebiegu wyzwalacza przedstawiającą sposób przekazywania informacji o wyzwalaczu do parametrów potoku.

  7. Aby użyć wartości w potoku, użyj parametrów, takich jak @pipeline().parameters.parameterName, a nie zmiennych systemowych, w definicjach potoku. Na przykład w tym przypadku, aby odczytać czas rozpoczęcia wyzwalacza, odwołujemy się do @pipeline().parameters.parameter_1.

Schemat systemu JSON

Aby przekazać informacje o wyzwalaczu do przebiegów potoku, zarówno wyzwalacz, jak i kod JSON potoku muszą zostać zaktualizowane za pomocą parameters sekcji .

Definicja potoku

properties W sekcji dodaj definicje parametrów do parameters sekcji.

{
    "name": "demo_pipeline",
    "properties": {
        "activities": [
            {
                "name": "demo_activity",
                "type": "WebActivity",
                "dependsOn": [],
                "policy": {
                    "timeout": "7.00:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "url": {
                        "value": "@pipeline().parameters.parameter_2",
                        "type": "Expression"
                    },
                    "method": "GET"
                }
            }
        ],
        "parameters": {
            "parameter_1": {
                "type": "string"
            },
            "parameter_2": {
                "type": "string"
            },
            "parameter_3": {
                "type": "string"
            },
            "parameter_4": {
                "type": "string"
            },
            "parameter_5": {
                "type": "string"
            }
        },
        "annotations": [],
        "lastPublishTime": "2021-02-24T03:06:23Z"
    },
    "type": "Microsoft.DataFactory/factories/pipelines"
}

Definicja wyzwalacza

pipelines W sekcji przypisz wartości parametrów parameters w sekcji . Nie musisz wypełniać informacji dla wszystkich parametrów. Wystarczy wypełnić te, które przyjmą wartości metadanych wyzwalacza.

{
    "name": "trigger1",
    "properties": {
        "annotations": [],
        "runtimeState": "Started",
        "pipelines": [
            {
                "pipelineReference": {
                    "referenceName": "demo_pipeline",
                    "type": "PipelineReference"
                },
                "parameters": {
                    "parameter_1": "@trigger().startTime"
                }
            }
        ],
        "type": "ScheduleTrigger",
        "typeProperties": {
            "recurrence": {
                "frequency": "Minute",
                "interval": 15,
                "startTime": "2021-03-03T04:38:00Z",
                "timeZone": "UTC"
            }
        }
    }
}

Używanie informacji o wyzwalaczu w potoku

Aby użyć wartości w potoku, użyj parametrów, takich jak @pipeline().parameters.parameterName, a nie zmiennych systemowych, w definicjach potoku.

Aby uzyskać więcej informacji na temat wyzwalaczy, zobacz Wykonywanie i wyzwalacze potoku.