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, jak można używać metadanych wyzwalacza, takich jak czas rozpoczęcia wyzwalacza, w przebiegu potoku.

Potok czasami musi rozumieć i odczytywać metadane z wyzwalacza, który go wywołuje. Na przykład po uruchomieniu wyzwalacza okna wirowania na podstawie czasu rozpoczęcia i zakończenia okna potok będzie przetwarzać różne wycinki danych lub foldery. W usłudze Azure Data Factory używamy parametryzacji i zmiennej systemowej do przekazywania metadanych z wyzwalacza do potoku.

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

Uwaga

Różne typy wyzwalaczy udostępniają różne metadane. Aby uzyskać więcej informacji, zobacz Zmienna systemowa

Interfejs użytkownika usługi Data Factory

W tej sekcji pokazano, jak przekazywać metadane z wyzwalacza do potoku w interfejsie użytkownika usługi Azure 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 panelu ustawień z dołu kanwy, ponieważ mogło zostać zwinięte

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

    Screen shot of pipeline setting showing how to define parameters in pipeline.

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

  5. Utwórz lub dołącz wyzwalacz do potoku, a następnie 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 zmiennej systemowej , aby pobrać informacje o wyzwalaczu. Nie musisz wypełniać informacji dla wszystkich parametrów— tylko tych, które przyjmą wartości metadanych wyzwalacza. Na przykład w tym miejscu przypisujemy czas rozpoczęcia uruchamiania wyzwalacza do parameter_1.

    Screenshot of trigger definition page showing how to pass trigger information to pipeline parameters.

  7. Aby użyć wartości w potoku, użyj parametrów @pipeline().parameters.parameterName, a nie zmiennej systemowej, w definicjach potoku. Na przykład w naszym przypadku, aby odczytać czas rozpoczęcia wyzwalacza, będziemy się odwoływać.@pipeline().parameters.parameter_1

Schemat systemu JSON

Aby przekazać informacje o wyzwalaczu do przebiegów potoku, należy zaktualizować zarówno wyzwalacz, jak i kod json potoku za pomocą sekcji parametrów .

Definicja potoku

W sekcji właściwości dodaj definicje parametrów do sekcji parametrów

{
    "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

W sekcji Potoki przypisz wartości parametrów w sekcji parametrów . Nie musisz wypełniać informacji dla wszystkich parametrów— tylko tych, 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 @pipeline().parameters.parameterName, a nie zmiennej systemowej, w definicjach potoku.

Aby uzyskać szczegółowe informacje o wyzwalaczach, zobacz Wykonywanie i wyzwalacze potoku.