Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:
Azure Data Factory
Azure Synapse Analytics
Tipp.
Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!
Az Until tevékenység ugyanazokat a funkciókat biztosítja, mint a programnyelvek Do-Until ciklusos szerkezete. Egy tevékenységkészletet futtat le ciklusosan addig, amíg a tevékenységhez rendelt feltétel igaz értéket nem ad vissza. Ha egy belső tevékenység meghiúsul, a Until tevékenység nem áll le. Megadhat időtúllépési értéket a tevékenység befejezéséig.
Until-tevékenység létrehozása felhasználói felülettel
Ha egy folyamatban lévő Until tevékenységet szeretne használni, hajtsa végre a következő lépéseket:
Keressen rá a Folyamattevékenységek panelEn a Until kifejezésre, és húzzon egy Until tevékenységet a folyamatvászonra.
Ha még nincs kijelölve, válassza ki a vásznon az Until (Amíg) tevékenységet, majd a részletek szerkesztéséhez nyissa meg a Beállítások fület.
Adjon meg egy kifejezést, amely kiértékelésre kerül az Until tevékenységben definiált összes gyermektevékenység végrehajtása után. Ha a kifejezés eredménye hamis, a Until tevékenység ismét végrehajtja az összes gyermektevékenységét. Ha igaz értékre értékelődik, az Amíg tevékenység befejeződik. A kifejezés lehet konstans sztringkifejezés, vagy dinamikus kifejezések, függvények, rendszerváltozók vagy más tevékenységek kimenetei bármilyen kombinációja. Az alábbi példa egy korábban definiált, TestVariable nevű folyamattömbváltozó értékét ellenőrzi, hogy az ['done'] értékre értékelődik-e.
A Tevékenységek szerkesztése gombra kattintva közvetlenül a Until tevékenységnél, vagy a Tevékenységek fülre kattintva határozhatja meg azokat a tevékenységeket, amelyeket a Until tevékenység hajt végre. Megjelenik egy új tevékenységszerkesztő ablaktábla, ahol bármilyen tevékenységet hozzáadhat az Until-tevékenységhez. Ebben a példában a Változó beállítása tevékenység a hivatkozott változó értékét "kész" értékre állítja. Így a Until tevékenység kifejezése igaz lesz az első végrehajtáskor, majd a Until tevékenység leáll. A feltételek ellenőrzéséhez használhat hasonló változókat. A "Mindaddig" tevékenység minden alkalommal végrehajtja a gyermektevékenységeket, amikor a kifejezés kiértékelésre kerül, egészen addig, amíg a feltételek teljesülnek. Ha több tevékenységet is iterál, a folyamat által végzett összesítési és tisztítási munka miatt előfordulhat, hogy késéssel lép ki a ciklusból.
Szintaxis
{
"type": "Until",
"typeProperties": {
"expression": {
"value": "<expression that evaluates to true or false>",
"type": "Expression"
},
"timeout": "<time out for the loop. for example: 00:10:00 (10 minute)>",
"activities": [
{
"<Activity 1 definition>"
},
{
"<Activity 2 definition>"
},
{
"<Activity N definition>"
}
]
},
"name": "MyUntilActivity"
}
Típustulajdonságok
| Tulajdonság | Leírás | Megengedett értékek | Szükséges |
|---|---|---|---|
| név |
Until A tevékenység neve. |
Sztring | Igen |
| típus | Meg kell adni a Until értéket. | Sztring | Igen |
| kifejezés | Igaz vagy hamis értékre kiértékelendő kifejezés | Kifejezés. | Igen |
| timeout | A do-until ciklus túllépi az időkorlátot a megadott idő után. | Karakterlánc
d.hh:mm:ss (vagy) hh:mm:ss. Az alapértelmezett érték hét nap. A maximális érték: 90 nap. |
Nem |
| Tevékenységek | Azoknak a tevékenységeknek a készlete, amelyeket addig hajtanak végre, amíg a kifejezés ki nem értékeli a következőt true: . |
Tevékenységek tömbje. | Igen |
1. példa
Feljegyzés
Ez a szakasz JSON-definíciókat és PowerShell-mintaparancsokat tartalmaz a folyamat futtatásához. A folyamat Azure PowerShell- és JSON-definíciókkal történő létrehozásához szükséges részletes útmutatást az alábbi oktatóanyagban találja : adat-előállító létrehozása az Azure PowerShell használatával.
Adatcsatorna a Until tevékenységgel
Ebben a példában a folyamat két tevékenységgel rendelkezik: Until és Wait. A várakozási tevékenység a megadott ideig vár, mielőtt a hurkon belül futtatná a webes tevékenységet. A kifejezések és függvények megismeréséhez tekintse meg a kifejezés nyelvét és a függvényeket.
{
"name": "DoUntilPipeline",
"properties": {
"activities": [
{
"type": "Until",
"typeProperties": {
"expression": {
"value": "@equals('Failed', coalesce(body('MyUnauthenticatedActivity')?.status, actions('MyUnauthenticatedActivity')?.status, 'null'))",
"type": "Expression"
},
"timeout": "00:10:00",
"activities": [
{
"name": "MyUnauthenticatedActivity",
"type": "WebActivity",
"typeProperties": {
"method": "get",
"url": "https://www.fake.com/",
"headers": {
"Content-Type": "application/json"
}
},
"dependsOn": [
{
"activity": "MyWaitActivity",
"dependencyConditions": [ "Succeeded" ]
}
]
},
{
"type": "Wait",
"typeProperties": {
"waitTimeInSeconds": 1
},
"name": "MyWaitActivity"
}
]
},
"name": "MyUntilActivity"
}
]
}
}
2. példa
A példafolyamat egy bemeneti mappából egy kimeneti mappába másolja az adatokat egy ciklusban. A ciklus akkor fejeződik be, ha az ismétlési paraméter értéke hamis, vagy egy perc elteltével túllépi az időkorlátot.
Művelet a Until tevékenységgel (Adfv2QuickStartPipeline.json)
{
"name": "Adfv2QuickStartPipeline",
"properties": {
"activities": [
{
"type": "Until",
"typeProperties": {
"expression": {
"value": "@equals('false', pipeline().parameters.repeat)",
"type": "Expression"
},
"timeout": "00:10:00",
"activities": [
{
"name": "CopyFromBlobToBlob",
"type": "Copy",
"inputs": [
{
"referenceName": "BlobDataset",
"parameters": {
"path": "@pipeline().parameters.inputPath"
},
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "BlobDataset",
"parameters": {
"path": "@pipeline().parameters.outputPath"
},
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "BlobSource"
},
"sink": {
"type": "BlobSink"
}
},
"policy": {
"retry": 1,
"timeout": "00:10:00",
"retryIntervalInSeconds": 60
}
}
]
},
"name": "MyUntilActivity"
}
],
"parameters": {
"inputPath": {
"type": "String"
},
"outputPath": {
"type": "String"
},
"repeat": {
"type": "String"
}
}
}
}
Azure Storage társított szolgáltatás (AzureStorageLinkedService.json)
{
"name": "AzureStorageLinkedService",
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<Azure Storage account name>;AccountKey=<Azure Storage account key>"
}
}
}
Paraméterezett Azure Blob-adatkészlet (BlobDataset.json)
A folyamat a folderPath mappát a pipeline outputPath1 vagy outputPath2 paraméterének értékére állítja be.
{
"name": "BlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": {
"value": "@{dataset().path}",
"type": "Expression"
}
},
"linkedServiceName": {
"referenceName": "AzureStorageLinkedService",
"type": "LinkedServiceReference"
},
"parameters": {
"path": {
"type": "String"
}
}
}
}
Csővezeték paraméter JSON (PipelineParameters.json)
{
"inputPath": "adftutorial/input",
"outputPath": "adftutorial/outputUntil",
"repeat": "true"
}
PowerShell-parancsok
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
Ezek a parancsok feltételezik, hogy a JSON-fájlokat a C:\ADF mappába mentette.
Connect-AzAccount
Select-AzSubscription "<Your subscription name>"
$resourceGroupName = "<Resource Group Name>"
$dataFactoryName = "<Data Factory Name. Must be globally unique>";
Remove-AzDataFactoryV2 $dataFactoryName -ResourceGroupName $resourceGroupName -force
Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Location "East US" -Name $dataFactoryName
Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureStorageLinkedService" -DefinitionFile "C:\ADF\AzureStorageLinkedService.json"
Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "BlobDataset" -DefinitionFile "C:\ADF\BlobDataset.json"
Set-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "Adfv2QuickStartPipeline" -DefinitionFile "C:\ADF\Adfv2QuickStartPipeline.json"
$runId = Invoke-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineName "Adfv2QuickStartPipeline" -ParameterFile C:\ADF\PipelineParameters.json
while ($True) {
$run = Get-AzDataFactoryV2PipelineRun -ResourceGroupName $resourceGroupName -DataFactoryName $DataFactoryName -PipelineRunId $runId
if ($run) {
if ($run.Status -ne 'InProgress') {
Write-Host "Pipeline run finished. The status is: " $run.Status -foregroundcolor "Yellow"
$run
break
}
Write-Host "Pipeline is running...status: InProgress" -foregroundcolor "Yellow"
Write-Host "Activity run details:" -foregroundcolor "Yellow"
$result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId $runId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30)
$result
Write-Host "Activity 'Output' section:" -foregroundcolor "Yellow"
$result.Output -join "`r`n"
}
Start-Sleep -Seconds 15
}
Kapcsolódó tartalom
Lásd az egyéb támogatott vezérlési folyamatokat: