Mengatur Nilai Pengembalian Alur di Azure Data Factory dan Azure 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!

Dalam paradigma alur alur-anak panggilan, Anda dapat menggunakan aktivitas Atur Variabel untuk mengembalikan nilai dari alur anak ke alur panggilan. Dalam skenario berikut, kita memiliki alur anak melalui Aktivitas Jalankan Alur. Dan kami ingin mengambil informasi dari alur anak, untuk kemudian digunakan dalam alur panggilan.

Screenshot with ExecutePipeline Activity.

Memperkenalkan nilai pengembalian alur, kamus pasangan nilai kunci, yang memungkinkan komunikasi antara alur anak dan alur induk.

Prasyarat - Memanggil Alur Anak

Sebagai prasyarat, desain Anda memerlukan Aktivitas Jalankan Alur yang memanggil alur anak, dengan Tunggu Penyelesaian diaktifkan pada aktivitas.

Screenshot setting ExecutePipeline Activity to wait for completion.

Mengonfigurasi Nilai Pengembalian Alur di Alur Anak

Kami telah memperluas aktivitas Atur Variabel untuk menyertakan variabel sistem Nilai Pengembalian Alur. Anda tidak perlu menentukannya pada tingkat alur (dibandingkan dengan variabel lain yang Anda gunakan dalam alur).

  1. Cari Set Variable di panel Aktivitas alur, dan seret aktivitas Atur Variabel ke kanvas alur.
  2. Pilih aktivitas Atur Variabel pada kanvas jika belum dipilih, lalu tab Variabelnya, untuk mengedit detailnya.
  3. Pilih Nilai pengembalian alur untuk jenis variabel.
  4. Pilih Baru untuk menambahkan pasangan nilai kunci baru.
  5. Jumlah pasangan kunci-nilai yang dapat ditambahkan hanya dibatasi oleh batas ukuran JSON yang dikembalikan (4MB).

Screenshot shows the ui for pipeline return value.

Ada beberapa opsi untuk jenis nilai, termasuk

Nama Jenis Deskripsi
String Nilai string konstanta. misalnya: 'ADF luar biasa'
Expression Ini memungkinkan Anda untuk mereferensikan output dari aktivitas sebelumnya. Anda dapat menggunakan interpolasi string di sini untuk menyertakan nilai ekspresi dalam baris seperti "The value is @{guid()}".
Array Ini mengharapkan array nilai string. Tekan tombol "enter" untuk memisahkan nilai dalam array
Boolean Benar atau Salah
Null Status tempat penampung sinyal; nilainya adalah null konstanta
Int Nilai numerik jenis bilangan bulat. Misalnya 42
Float Nilai numerik dari jenis float. Misalnya: 2.71828
Objek Memperingatkan kasus penggunaan yang rumit saja. Ini memungkinkan Anda menyematkan daftar jenis pasangan nilai kunci untuk nilai

Nilai jenis objek didefinisikan sebagai berikut:

[{"key": "myKey1", "value": {"type": "String", "content": "hello world"}}, 
 {"key": "myKey2", "value": {"type": "String", "content": "hi"}}
]

Mengambil Nilai dalam Alur Panggilan

Nilai pengembalian alur alur anak menjadi output aktivitas dari Aktivitas Jalankan Alur. Anda dapat mengambil informasi dengan @activity('Execute Pipeline1').output.pipelineReturnValue.keyName. Kasus penggunaan tidak terbatas. Misalnya, Anda dapat menggunakan

  • Nilai int dari alur anak untuk menentukan periode tunggu aktivitas tunggu
  • Nilai string untuk menentukan URL untuk aktivitas Web
  • Payload nilai ekspresi untuk aktivitas skrip untuk tujuan pengelogan.

Screenshot shows the calling pipeline.

Ada dua callout yang terlihat dalam mereferensikan nilai pengembalian alur.

  1. Dengan Jenis objek , Anda dapat memperluas lebih lanjut ke objek json berlapis, seperti @activity('Execute Pipeline1').output.pipelineReturnValue.keyName.nextLevelKey
  2. Dengan jenis Array , Anda dapat menentukan indeks dalam daftar, dengan @activity('Execute Pipeline1').output.pipelineReturnValue.keyName[0]. Angkanya nol diindeks, artinya dimulai dengan 0.

Catatan

Pastikan keyName yang Anda rujuk ada di alur anak Anda. Penyusun ekspresi ADF tidak dapat mengonfirmasi pemeriksaan referensial untuk Anda. Alur akan gagal jika kunci yang dirujuk hilang dalam payload

Pertimbangan Khusus

Meskipun Anda dapat menyertakan beberapa aktivitas Atur Nilai Pengembalian Alur dalam alur, penting untuk memastikan bahwa hanya satu dari mereka yang dijalankan dalam alur.

Screenshot with Pipeline Return Value and Branching.

Untuk menghindari situasi kunci yang hilang dalam alur panggilan, dijelaskan di atas, kami mendorong Anda untuk memiliki daftar kunci yang sama untuk semua cabang dalam alur anak. Pertimbangkan untuk menggunakan jenis null untuk kunci yang tidak memiliki nilai, di cabang tertentu.

Pelajari tentang aktivitas alur kontrol terkait lainnya: