Mereferensikan metadata pemicu di eksekusi alur

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!

Artikel ini menjelaskan bagaimana metadata pemicu, seperti waktu mulai pemicu, dapat digunakan di eksekusi alur.

Alur terkadang perlu memahami dan membaca metadata dari pemicu yang memanggilnya. Misalnya, dengan menjalankan Tumbling Window Trigger, berdasarkan waktu mulai dan berakhirnya jendela, alur akan memproses potongan atau folder data yang berbeda. Di Azure Data Factory, kami menggunakan Parameterisasi dan Variabel Sistem untuk meneruskan data meta dari pemicu ke alur.

Pola ini sangat berguna untuk Tumbling Window Trigger, di mana pemicu menyediakan waktu mulai dan berakhirnya jendela, dan Pemicu Peristiwa Kustom, di mana pemicu memilah dan memproses nilai dalam bidang data yang ditentukan khusus.

Catatan

Jenis pemicu yang berbeda menyediakan informasi data meta yang berbeda. Untuk informasi lebih lanjut, lihat Variabel Sistem

Antarmuka Pengguna Azure Data Factory

Bagian ini menunjukkan cara meneruskan informasi data meta dari pemicu ke alur, dalam Antarmuka Pengguna Azure Data Factory.

  1. Buka Kanvas Penulisan dan edit alur

  2. Pilih pada kanvas yang kosong untuk memunculkan pengaturan alur. Jangan pilih aktivitas apa pun. Anda mungkin harus menarik panel pengaturan dari bagian bawah kanvas, karena mungkin sudah diciutkan

  3. Pilih bagian Parameter dan pilih + Baru untuk menambahkan parameter

    Screen shot of pipeline setting showing how to define parameters in pipeline.

  4. Tambahkan pemicu ke alur, dengan mengklik + Pemicu.

  5. Buat atau lampirkan pemicu ke alur, lalu klik OK

  6. Setelah memilih OK, halaman Pemicu baru lainnya disajikan dengan daftar parameter yang ditentukan untuk alur, seperti yang ditunjukkan pada cuplikan layar berikut. Pada halaman tersebut, isi data meta pemicu untuk setiap parameter. Gunakan format yang ditentukan dalam Variabel Sistem untuk mengambil informasi pemicu. Anda tidak perlu mengisi informasi untuk semua parameter, hanya parameter yang akan mengasumsikan nilai metadata pemicu. Misalnya, di sini kita menetapkan waktu mulai eksekusi pemicu ke parameter_1.

    Screenshot of trigger definition page showing how to pass trigger information to pipeline parameters.

  7. Untuk menggunakan nilai dalam alur, gunakan parameter @pipeline().parameters.parameterName, bukan variabel sistem, dalam definisi alur. Misalnya, dalam kasus kita, untuk membaca waktu mulai pemicu, kita akan mereferensikan @pipeline().parameters.parameter_1.

Skema JSON

Untuk meneruskan informasi pemicu ke eksekusi alur, pemicu dan json alur harus diperbarui dengan bagian parameter.

Definisi alur

Di bagian properti, tambahkan definisi parameter ke bagian parameter

{
    "name": "demo_pipeline",
    "properties": {
        "activities": [
            {
                "name": "demo_activity",
                "type": "WebActivity",
                "dependsOn": [],
                "policy": {
                    "timeout": "7.00:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "url": {
                        "value": "@pipeline().parameters.parameter_2",
                        "type": "Expression"
                    },
                    "method": "GET"
                }
            }
        ],
        "parameters": {
            "parameter_1": {
                "type": "string"
            },
            "parameter_2": {
                "type": "string"
            },
            "parameter_3": {
                "type": "string"
            },
            "parameter_4": {
                "type": "string"
            },
            "parameter_5": {
                "type": "string"
            }
        },
        "annotations": [],
        "lastPublishTime": "2021-02-24T03:06:23Z"
    },
    "type": "Microsoft.DataFactory/factories/pipelines"
}

Definisi pemicu

Di bagian alur, tetapkan nilai parameter di bagian parameter. Anda tidak perlu mengisi informasi untuk semua parameter, hanya parameter yang akan mengasumsikan nilai metadata pemicu.

{
    "name": "trigger1",
    "properties": {
        "annotations": [],
        "runtimeState": "Started",
        "pipelines": [
            {
                "pipelineReference": {
                    "referenceName": "demo_pipeline",
                    "type": "PipelineReference"
                },
                "parameters": {
                    "parameter_1": "@trigger().startTime"
                }
            }
        ],
        "type": "ScheduleTrigger",
        "typeProperties": {
            "recurrence": {
                "frequency": "Minute",
                "interval": 15,
                "startTime": "2021-03-03T04:38:00Z",
                "timeZone": "UTC"
            }
        }
    }
}

Gunakan informasi pemicu dalam alur

Untuk menggunakan nilai dalam alur, gunakan parameter @pipeline().parameters.parameterName, bukan variabel sistem, dalam definisi alur.

Untuk detail informasi tentang pemicu, lihat Eksekusi dan pemicu alur.