Jalankan aktivitas Alur di Azure Data Factory dan Synapse Analytics
BERLAKU UNTUK: Azure Data Factory Azure Synapse Analytics
Tip
Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!
Aktivitas Jalankan Alur memungkinkan alur Data Factory atau Synapse memanggil alur lain.
Membuat aktivitas Alur Eksekusi dengan UI
Untuk menggunakan aktivitas Alur Eksekusi dalam alur, selesaikan langkah-langkah berikut:
Cari alur di panel Aktivitas alur, dan seret aktivitas Alur Eksekusi ke kanvas alur.
Pilih aktivitas Alur Eksekusi baru di kanvas jika belum dipilih, dan tab Pengaturan-nya, untuk mengedit detailnya.
Pilih alur yang ada atau buat yang baru menggunakan tombol Baru. Pilih opsi lain dan konfigurasikan parameter apa pun untuk alur yang diperlukan untuk menyelesaikan konfigurasi Anda.
Sintaks
{
"name": "MyPipeline",
"properties": {
"activities": [
{
"name": "ExecutePipelineActivity",
"type": "ExecutePipeline",
"typeProperties": {
"parameters": {
"mySourceDatasetFolderPath": {
"value": "@pipeline().parameters.mySourceDatasetFolderPath",
"type": "Expression"
}
},
"pipeline": {
"referenceName": "<InvokedPipelineName>",
"type": "PipelineReference"
},
"waitOnCompletion": true
}
}
],
"parameters": [
{
"mySourceDatasetFolderPath": {
"type": "String"
}
}
]
}
}
Properti jenis
Properti | Deskripsi | Nilai yang diizinkan | Wajib |
---|---|---|---|
nama | Nama aktivitas jalankan alur. | String | Ya |
jenis | Harus diatur ke: ExecutePipeline. | String | Ya |
Alur | Referensi alur ke alur dependen yang dipanggil alur ini. Objek referensi alur memiliki dua properti: referenceName dan jenis. Properti referenceName menentukan nama alur referensi. Properti jenis harus disetel ke PipelineReference. | PipelineReference | Ya |
parameter | Parameter yang akan diteruskan ke alur yang dipanggil | Objek JSON yang memetakan nama parameter ke nilai argumen | No |
waitOnCompletion | Menentukan apakah eksekusi aktivitas menunggu eksekusi alur dependen selesai. Default-nya adalah true. | Boolean | No |
Sampel
Skenario ini memiliki dua alur:
- Master alur - Alur ini memiliki satu aktivitas Jalankan Alur yang memanggil alur yang dipanggil. Alur master mengambil dua parameter:
masterSourceBlobContainer
,masterSinkBlobContainer
. - Alur yang dipanggil - Alur ini memiliki satu aktivitas Salin yang menyalin data dari sumber Azure Blob ke sink Azure Blob. Alur yang dipanggil mengambil dua parameter:
sourceBlobContainer
,sinkBlobContainer
.
Definisi Alur Master
{
"name": "masterPipeline",
"properties": {
"activities": [
{
"type": "ExecutePipeline",
"typeProperties": {
"pipeline": {
"referenceName": "invokedPipeline",
"type": "PipelineReference"
},
"parameters": {
"sourceBlobContainer": {
"value": "@pipeline().parameters.masterSourceBlobContainer",
"type": "Expression"
},
"sinkBlobContainer": {
"value": "@pipeline().parameters.masterSinkBlobContainer",
"type": "Expression"
}
},
"waitOnCompletion": true
},
"name": "MyExecutePipelineActivity"
}
],
"parameters": {
"masterSourceBlobContainer": {
"type": "String"
},
"masterSinkBlobContainer": {
"type": "String"
}
}
}
}
Definisi Alur yang dipanggil
{
"name": "invokedPipeline",
"properties": {
"activities": [
{
"type": "Copy",
"typeProperties": {
"source": {
"type": "BlobSource"
},
"sink": {
"type": "BlobSink"
}
},
"name": "CopyBlobtoBlob",
"inputs": [
{
"referenceName": "SourceBlobDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "sinkBlobDataset",
"type": "DatasetReference"
}
]
}
],
"parameters": {
"sourceBlobContainer": {
"type": "String"
},
"sinkBlobContainer": {
"type": "String"
}
}
}
}
Layanan tertaut
{
"name": "BlobStorageLinkedService",
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=*****;AccountKey=*****"
}
}
}
Himpunan data sumber
{
"name": "SourceBlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": {
"value": "@pipeline().parameters.sourceBlobContainer",
"type": "Expression"
},
"fileName": "salesforce.txt"
},
"linkedServiceName": {
"referenceName": "BlobStorageLinkedService",
"type": "LinkedServiceReference"
}
}
}
Himpunan data sink
{
"name": "sinkBlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": {
"value": "@pipeline().parameters.sinkBlobContainer",
"type": "Expression"
}
},
"linkedServiceName": {
"referenceName": "BlobStorageLinkedService",
"type": "LinkedServiceReference"
}
}
}
Menjalankan alur
Untuk menjalankan alur master dalam contoh ini, nilai berikut diteruskan untuk parameter masterSourceBlobContainer dan masterSinkBlobContainer:
{
"masterSourceBlobContainer": "executetest",
"masterSinkBlobContainer": "executesink"
}
Alur master meneruskan nilai-nilai ini ke alur yang dipanggil seperti yang diperlihatkan dalam contoh berikut:
{
"type": "ExecutePipeline",
"typeProperties": {
"pipeline": {
"referenceName": "invokedPipeline",
"type": "PipelineReference"
},
"parameters": {
"sourceBlobContainer": {
"value": "@pipeline().parameters.masterSourceBlobContainer",
"type": "Expression"
},
"sinkBlobContainer": {
"value": "@pipeline().parameters.masterSinkBlobContainer",
"type": "Expression"
}
},
....
}
Peringatan
Aktivitas Jalankan Alur meneruskan parameter array sebagai string ke alur anak. Hal ini disebabkan oleh fakta bahwa payload diteruskan dari alur induk ke >anak sebagai string. Kita dapat melihatnya ketika kita memeriksa input yang diteruskan ke alur anak. Plese periksa bagian ini untuk detail selengkapnya.
Konten terkait
Lihat aktivitas alur kontrol yang didukung lainnya: