Delen via


Toewijzingsgegevensstromen parameteriseren

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Toewijzingsgegevensstromen in Azure Data Factory- en Synapse-pijplijnen ondersteunen het gebruik van parameters. Definieer parameters in de definitie van uw gegevensstroom en gebruik deze in uw expressies. De parameterwaarden worden ingesteld door de aanroepende pijplijn via de activiteit Execute Gegevensstroom. U hebt drie opties voor het instellen van de waarden in de expressies voor gegevensstroomactiviteit:

  • De expressietaal van de pijplijnbesturingsstroom gebruiken om een dynamische waarde in te stellen
  • De expressietaal van de gegevensstroom gebruiken om een dynamische waarde in te stellen
  • Een expressietaal gebruiken om een statische letterlijke waarde in te stellen

Gebruik deze mogelijkheid om uw gegevensstromen algemeen, flexibel en herbruikbaar te maken. U kunt de instellingen en expressies van de gegevensstroom parameteriseren met deze parameters.

Parameters maken in een toewijzingsgegevensstroom

Als u parameters wilt toevoegen aan uw gegevensstroom, klikt u op het lege gedeelte van het gegevensstroomcanvas om de algemene eigenschappen te bekijken. In het deelvenster Instellingen ziet u een tabblad met de naam Parameter. Selecteer Nieuw om een nieuwe parameter te genereren. Voor elke parameter moet u een naam toewijzen, een type selecteren en eventueel een standaardwaarde instellen.

Schermopname van het maken van Gegevensstroom parameters.

Parameters gebruiken in een toewijzingsgegevensstroom

Er kan naar parameters worden verwezen in elke gegevensstroomexpressie. Parameters beginnen met $ en zijn onveranderbaar. U vindt de lijst met beschikbare parameters in de opbouwfunctie voor expressies onder het tabblad Parameters .

Schermopname van de beschikbare parameters op het tabblad Parameters.

U kunt snel extra parameters toevoegen door nieuwe parameter te selecteren en de naam en het type op te geven.

Schermopname van de parameters op het tabblad Parameters met nieuwe parameters toegevoegd.

Geparameteriseerde gekoppelde services gebruiken in een toewijzingsgegevensstroom

Gekoppelde services met parameters kunnen worden gebruikt in een toewijzingsgegevensstroom (voor gegevensset- of inlinebrontypen).

Voor het inline-brontype worden de gekoppelde serviceparameters weergegeven in de instellingen voor gegevensstroomactiviteit in de pijplijn, zoals hieronder wordt weergegeven.

Schermopname van het gebruik van gekoppelde serviceparameters in de gegevensstroom.

Voor het brontype van de gegevensset worden de gekoppelde serviceparameters rechtstreeks weergegeven in de configuratie van de gegevensset.

Parameterwaarden toewijzen vanuit een pijplijn

Nadat u een gegevensstroom met parameters hebt gemaakt, kunt u deze uitvoeren vanuit een pijplijn met de Gegevensstroom-activiteit uitvoeren. Nadat u de activiteit aan uw pijplijncanvas hebt toegevoegd, ziet u de beschikbare gegevensstroomparameters op het tabblad Parameters van de activiteit.

Wanneer u parameterwaarden toewijst, kunt u de taal van de pijplijnexpressie of de taal voor de gegevensstroomexpressie gebruiken op basis van spark-typen. Elke toewijzingsgegevensstroom kan elke combinatie van pijplijn- en gegevensstroomexpressieparameters hebben.

Schermopname van het tabblad Parameters met Gegevensstroom expressie geselecteerd voor de waarde van myparam.

Pijplijnexpressieparameters

Met pijplijnexpressieparameters kunt u verwijzen naar systeemvariabelen, functies, pijplijnparameters en variabelen die vergelijkbaar zijn met andere pijplijnactiviteiten. Wanneer u op Pijplijnexpressie klikt, wordt er een zijnavigatie geopend waarmee u een expressie kunt invoeren met behulp van de opbouwfunctie voor expressies.

Schermopname van het deelvenster Opbouwfunctie voor expressies.

Wanneer ernaar wordt verwezen, worden pijplijnparameters geëvalueerd en wordt de waarde ervan gebruikt in de expressietaal van de gegevensstroom. Het type pijplijnexpressie hoeft niet overeen te komen met het parametertype voor de gegevensstroom.

Letterlijke tekenreeks versus expressies

Wanneer u een parameter voor de pijplijnexpressie van het type tekenreeks toewijst, worden standaard aanhalingstekens toegevoegd en wordt de waarde geëvalueerd als een letterlijke waarde. Als u de parameterwaarde wilt lezen als een gegevensstroomexpressie, schakelt u het expressievak naast de parameter in.

Schermopname van het deelvenster Parameters voor gegevensstroom geselecteerd voor een parameter.

Als de gegevensstroomparameter stringParam verwijst naar een pijplijnparameter met waarde upper(column1).

  • Als de expressie is ingeschakeld, $stringParam wordt de waarde van kolom1 in hoofdletters geëvalueerd.
  • Als de expressie niet is ingeschakeld (standaardgedrag), $stringParam resulteert dit in 'upper(column1)'

Tijdstempels doorgeven

In de taal van de pijplijnexpressie worden systeemvariabelen zoals pipeline().TriggerTime en functies als utcNow() tijdstempels geretourneerd als tekenreeksen in de notatie 'jjjj-MM-dd'T'HH:mm:ss. SSSSSZ'. Als u deze wilt converteren naar gegevensstroomparameters van het type tijdstempel, gebruikt u tekenreeksinterpolatie om de gewenste tijdstempel in een toTimestamp() functie op te nemen. Als u bijvoorbeeld de tijd van de pijplijntrigger wilt converteren naar een gegevensstroomparameter, kunt u dit gebruiken toTimestamp(left('@{pipeline().TriggerTime}', 23), 'yyyy-MM-dd\'T\'HH:mm:ss.SSS').

Schermopname van het tabblad Parameters, waar u een triggertijd kunt invoeren.

Notitie

Gegevensstroom s kunnen maximaal 3 milliseconden ondersteunen. De left() functie wordt gebruikt om extra cijfers af te knippen.

Voorbeeld van pijplijnparameter

Stel dat u een geheel intParam getal hebt dat verwijst naar een pijplijnparameter van het type String, @pipeline.parameters.pipelineParam.

Schermopname van het tabblad Parameters met parameters met de naam stringParam en intParam.

@pipeline.parameters.pipelineParam wordt een waarde toegewezen van abs(1) tijdens runtime.

Schermopname van het tabblad Parameters met de waarde van een b s (1) geselecteerd.

Wanneer $intParam wordt verwezen in een expressie zoals een afgeleide kolom, wordt de geretourneerde waarde geëvalueerd1abs(1).

Schermopname van de waarde van de kolommen.

Parameters voor gegevensstroomexpressie

Selecteer De expressie Gegevensstroom opent de opbouwfunctie voor gegevensstroomexpressies . U kunt verwijzen naar functies, andere parameters en een gedefinieerde schemakolom in uw gegevensstroom. Deze expressie wordt geëvalueerd zoals wanneer hiernaar wordt verwezen.

Notitie

Als u een ongeldige expressie doorgeeft of verwijst naar een schemakolom die niet in die transformatie bestaat, wordt de parameter geëvalueerd als null.

Een kolomnaam doorgeven als parameter

Een veelvoorkomend patroon is het doorgeven van een kolomnaam als parameterwaarde. Als de kolom is gedefinieerd in het gegevensstroomschema, kunt u er rechtstreeks naar verwijzen als een tekenreeksexpressie. Als de kolom niet is gedefinieerd in het schema, gebruikt u de byName() functie. Vergeet niet om de kolom naar het juiste type te casten met een cast-functie zoals toString().

Als u bijvoorbeeld een tekenreekskolom wilt toewijzen op basis van een parameter columnName, kunt u een afgeleide kolomtransformatie toevoegen die gelijk is aan toString(byName($columnName)).

Een kolomnaam doorgeven als parameter

Notitie

In gegevensstroomexpressies wordt tekenreeksinterpolatie (waarbij variabelen in de tekenreeks worden vervangen) niet ondersteund. Voeg in plaats daarvan de expressie samen in tekenreekswaarden. Bijvoorbeeld 'string part 1' + $variable + 'string part 2'