Ustawianie aktywności zmiennej w usłudze Azure Data Factory i usłudze Azure Synapse Analytics

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ą !

Użyj działania Ustaw zmienną, aby ustawić wartość istniejącej zmiennej typu Ciąg, Wartość logiczna lub Tablica zdefiniowana w potoku usługi Data Factory lub Synapse albo użyć działania Ustaw zmienną, aby ustawić wartość zwracaną potoku (wersja zapoznawcza).

Tworzenie działania Ustaw zmienną za pomocą interfejsu użytkownika

Aby użyć działania Ustaw zmienną w potoku, wykonaj następujące kroki:

  1. Wybierz tło kanwy potoku i użyj karty Zmienne, aby dodać zmienną:

Screenshot of an empty pipeline canvas with the Variables tab selected with an array type variable named TestVariable.

  1. Wyszukaj pozycję Ustaw zmienną w okienku Działania potoku i przeciągnij działanie Ustaw zmienną na kanwę potoku.

  2. Wybierz działanie Ustaw zmienną na kanwie, jeśli nie zostało jeszcze wybrane, a następnie wybierz kartę Ustawienia, aby edytować jego szczegóły.

  3. Wybierz zmienną potoku dla typu zmiennej.

  4. Wybierz zmienną dla właściwości Name.

  5. Wprowadź wyrażenie, aby ustawić wartość zmiennych. To wyrażenie może być wyrażeniem ciągu literału lub dowolną kombinacją wyrażeń dynamicznych , funkcji, zmiennych systemowych lub danych wyjściowych z innych działań.

Screenshot of the UI for a Set variable activity.

Ustawianie wartości zwracanej potoku za pomocą interfejsu użytkownika

Rozszerzyliśmy działanie Ustaw zmienną, aby uwzględnić specjalną zmienną systemową o nazwie Wartość zwracaną potoku, umożliwiając komunikację z potoku podrzędnego do potoku wywołującego w poniższym scenariuszu.

Nie musisz definiować zmiennej przed jej użyciem. Aby uzyskać więcej informacji, zobacz Wartość zwracana potoku

Screenshot with ExecutePipeline Activity.

Właściwości typu

Właściwości Opis Wymagania
name Nazwa działania w potoku tak
opis Tekst opisujący działanie nie
type Musi być ustawiona wartość SetVariable tak
Variablename Nazwa zmiennej ustawionej przez to działanie tak
wartość Literał ciągu lub wartość obiektu wyrażenia przypisana do zmiennej tak

Zwiększanie zmiennej

Typowym scenariuszem obejmującym zmienną jest użycie zmiennej jako iteratora w działaniu Until lub ForEach . W ustawieniu działania zmiennej nie można odwoływać się do zmiennej ustawianej w value polu, czyli bez odwoływania się do siebie. Aby obejść to ograniczenie, ustaw zmienną tymczasową, a następnie utwórz drugą aktywność Ustaw zmienną . Drugie Ustawienie działania zmiennej ustawia wartość iteratora na zmienną tymczasową. Oto przykład tego wzorca:

  • Najpierw zdefiniujesz dwie zmienne: jedną dla iteratora i jedną dla magazynu tymczasowego.

Screenshot shows defining variables.

  • Następnie użyjesz dwóch działań, aby zwiększać wartości

Screenshot shows increment variable.

{
    "name": "pipeline1",
    "properties": {
        "activities": [
            {
                "name": "Increment J",
                "type": "SetVariable",
                "dependsOn": [],
                "policy": {
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "variableName": "temp_j",
                    "value": {
                        "value": "@add(variables('counter_i'),1)",
                        "type": "Expression"
                    }
                }
            },
            {
                "name": "Set I",
                "type": "SetVariable",
                "dependsOn": [
                    {
                        "activity": "Increment J",
                        "dependencyConditions": [
                            "Succeeded"
                        ]
                    }
                ],
                "policy": {
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "variableName": "counter_i",
                    "value": {
                        "value": "@variables('temp_j')",
                        "type": "Expression"
                    }
                }
            }
        ],
        "variables": {
            "counter_i": {
                "type": "Integer",
                "defaultValue": 0
            },
            "temp_j": {
                "type": "Integer",
                "defaultValue": 0
            }
        },
        "annotations": []
    }
}

Zmienne są ograniczone na poziomie potoku. Oznacza to, że nie są bezpieczne wątkowo i mogą powodować nieoczekiwane i niepożądane zachowanie, jeśli są one dostępne z poziomu równoległego działania iteracji, takiego jak pętla ForEach, zwłaszcza gdy wartość jest również modyfikowana w ramach tego działania foreach.

Dowiedz się więcej o innym powiązanym działaniu przepływu sterowania: