Variabele activiteit instellen in Azure Data Factory en Azure Synapse Analytics
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 .
Gebruik de activiteit Variabele instellen om de waarde in te stellen van een bestaande variabele van het type Tekenreeks, Bool of Matrix die is gedefinieerd in een Data Factory- of Synapse-pijplijn of gebruik de activiteit Variabele instellen om een retourwaarde voor een pijplijn in te stellen (preview).
Een activiteit Variabele instellen maken met de gebruikersinterface
Voer de volgende stappen uit om een activiteit Variabele instellen in een pijplijn te gebruiken:
- Selecteer de achtergrond van het pijplijncanvas en gebruik het tabblad Variabelen om een variabele toe te voegen:
Zoek naar Variabele instellen in het deelvenster Pijplijnactiviteiten en sleep een activiteit Variabele instellen naar het pijplijncanvas.
Selecteer de activiteit Variabele instellen op het canvas als deze nog niet is geselecteerd en selecteer vervolgens het tabblad Instellingen om de details ervan te bewerken.
Selecteer Pijplijnvariabele voor het type Variabele.
Selecteer de variabele voor de eigenschap Name.
Voer een expressie in om de waarde voor de variabelen in te stellen. Deze expressie kan een letterlijke tekenreeksexpressie zijn of een combinatie van dynamische expressies, functies, systeemvariabelen of uitvoer van andere activiteiten.
Een retourwaarde voor een pijplijn instellen met de gebruikersinterface
We hebben de activiteit Variabele instellen uitgebreid met een speciale systeemvariabele met de naam Retourwaarde pijplijn, waardoor communicatie van de onderliggende pijplijn naar de aanroepende pijplijn mogelijk is in het volgende scenario.
U hoeft de variabele niet te definiëren voordat u deze gebruikt. Zie De retourwaarde van pijplijn voor meer informatie
Typeeigenschappen
Eigenschappen | Beschrijving | Vereist |
---|---|---|
naam | Naam van de activiteit in de pijplijn | ja |
beschrijving | Tekst waarin wordt beschreven wat de activiteit doet | nee |
type | Moet zijn ingesteld op SetVariable | ja |
variableName | Naam van de variabele die is ingesteld door deze activiteit | ja |
waarde | Letterlijke waarde van tekenreeks of expressieobject waaraan de variabele is toegewezen | ja |
Een variabele verhogen
Een veelvoorkomend scenario met variabele is het gebruik van een variabele als iterator binnen een Until - of ForEach-activiteit . In een activiteit variabele instellen kunt u niet verwijzen naar de variabele die wordt ingesteld in het value
veld, dat wil gezegd, geen zelfverwijzing. Als u deze beperking wilt omzeilen, stelt u een tijdelijke variabele in en maakt u vervolgens een tweede setvariabeleactiviteit. Met de tweede activiteit variabele instellen wordt de waarde van de iterator ingesteld op de tijdelijke variabele. Hier volgt een voorbeeld van dit patroon:
- Eerst definieert u twee variabelen: één voor de iterator en één voor tijdelijke opslag.
- Vervolgens gebruikt u twee activiteiten om waarden te verhogen
{
"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": []
}
}
Variabelen hebben een bereik op pijplijnniveau. Dit betekent dat ze niet thread-veilig zijn en onverwacht en ongewenst gedrag kunnen veroorzaken als ze worden geopend vanuit een parallelle iteratieactiviteit, zoals een ForEach-lus, met name wanneer de waarde ook wordt gewijzigd binnen die foreach-activiteit.
Gerelateerde inhoud
Meer informatie over een andere gerelateerde controlestroomactiviteit: