Bagikan melalui


Eksekusi pipeline dan pemicu di Azure Data Factory atau Azure Synapse Analytics

BERLAKU UNTUK: Azure Data Factory Azure Synapse Analytics

Petunjuk / Saran

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!

Menjalankan pipeline di Azure Data Factory dan Azure Synapse menentukan instans eksekusi pipeline. Misalnya, Anda memiliki alur yang dijalankan pada pukul 08.00, 09.00, dan 10.00. Dalam hal ini, ada tiga eksekusi terpisah dari jalannya alur kerja atau eksekusi alur kerja. Setiap jalur memiliki ID jalur yang unik. ID run adalah GUID yang secara unik mendefinisikan eksekusi alur tertentu.

Proses alur pipa biasanya dijalankan dengan meneruskan argumen ke parameter yang Anda tentukan dalam alur pipa. Anda dapat mengeksekusi alur baik secara manual atau menggunakan pemicu. Artikel ini menyediakan detail tentang kedua cara menjalankan rangkaian proses.

Membuat pemicu dengan antarmuka pengguna

Untuk memicu pipeline secara manual atau mengonfigurasi jadwal baru, jendela bergulir, peristiwa penyimpanan, atau pemicu acara kustom, pilih Tambah pemicu di bagian atas editor pipeline.

Menampilkan cara menambahkan pemicu baru dengan antarmuka pengguna dari penyunting alur.

Jika Anda memilih untuk memicu alur secara manual, itu akan segera dijalankan. Jika Anda memilih Baru/Edit, Anda akan diminta untuk membuka jendela pemicu guna memilih pemicu yang ada untuk diedit, atau membuat pemicu baru.

Menampilkan jendela tambah pemicu yang menyorot letak untuk membuat pemicu baru.

Anda akan melihat jendela konfigurasi pemicu, memungkinkan Anda memilih jenis pemicu.

Menampilkan jendela konfigurasi pemicu baru dengan drop-down yang menunjukkan berbagai jenis pemicu yang Anda buat.

Baca lebih lanjut tentang jadwal, jendela tumbling, peristiwa penyimpanan, dan peristiwa khusus di bawah ini.

Eksekusi manual

Eksekusi alur manual juga disebut sebagai eksekusi sesuai permintaan.

Misalnya, Anda memiliki alur dasar bernama copyPipeline yang ingin Anda eksekusi. Alur memiliki satu aktivitas yang menyalin dari folder sumber penyimpanan Azure Blob ke folder tujuan di penyimpanan yang sama. Definisi JSON berikut memperlihatkan alur sampel ini:

{
    "name": "copyPipeline",
    "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"
            }
        }
    }
}

Dalam definisi JSON, alur mengambil dua parameter: sourceBlobContainer dan sinkBlobContainer. Anda meneruskan nilai ke parameter ini saat runtime.

Eksekusi manual dengan API/SDK lainnya

Anda dapat secara manual menjalankan alur menggunakan salah satu metode berikut:

  • .NET SDK
  • Modul Azure PowerShell
  • REST API
  • Python SDK

.NET SDK

Sampel panggilan berikut memperlihatkan cara menjalankan alur kerja Anda menggunakan .NET SDK secara manual:

client.Pipelines.CreateRunWithHttpMessagesAsync(resourceGroup, dataFactoryName, pipelineName, parameters)

Untuk sampel lengkap, lihat Mulai Cepat: Membuat pabrik data menggunakan .NET SDK.

Catatan

Anda dapat menggunakan .NET SDK untuk memanggil alur dari Azure Functions, dari layanan web Anda, dan sebagainya.

Azure PowerShell

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Sampel perintah berikut memperlihatkan cara menjalankan alur menggunakan Azure PowerShell secara manual:

Invoke-AzDataFactoryV2Pipeline -DataFactory $df -PipelineName "Adfv2QuickStartPipeline" -ParameterFile .\PipelineParameters.json -ResourceGroupName "myResourceGroup"

Anda meneruskan parameter dalam isi payload permintaan. Di .NET SDK, Azure PowerShell, dan Python SDK, Anda meneruskan nilai dalam dictionary yang diteruskan sebagai argumen dalam panggilan.

{
  "sourceBlobContainer": "MySourceFolder",
  "sinkBlobContainer": "MySinkFolder"
}

Payload respons adalah ID unik dari proses pipeline:

{
  "runId": "0448d45a-a0bd-23f3-90a5-bfeea9264aed"
}

Untuk sampel lengkap, lihat Mulai Cepat: Membuat pabrik data menggunakan Azure PowerShell.

Python SDK

Untuk sampel lengkap, lihat Mulai Cepat: Membuat pabrik data dan alur menggunakan Python

REST API

Sampel perintah berikut memperlihatkan cara menjalankan alur menggunakan REST API secara manual:

POST
https://management.azure.com/subscriptions/mySubId/resourceGroups/myResourceGroup/providers/Microsoft.DataFactory/factories/myDataFactory/pipelines/copyPipeline/createRun?api-version=2017-03-01-preview

Untuk sampel lengkap, lihat Mulai Cepat: Membuat pabrik data menggunakan REST API.

Jenis Pemicu

Pemicu adalah salah satu cara lain agar Anda dapat menjalankan pipeline. Pemicu mewakili unit pemrosesan yang menentukan kapan eksekusi pipeline perlu dimulai. Saat ini, layanan tersebut mendukung tiga jenis pemicu:

  • Pemicu jadwal: Pemicu yang memanggil alur pada jadwal waktu tetap.

  • Pemicu jendela tumbling: Pemicu yang beroperasi pada interval berkala, sekaligus mempertahankan status.

  • Pemicu berbasis kejadian: Pemicu yang merespons kejadian.

Alur dan pemicu memiliki hubungan yang bersifat banyak-ke-banyak (kecuali untuk pemicu jendela bergulir). Beberapa pemicu dapat memulai satu alur, atau satu pemicu dapat memulai beberapa alur. Dalam definisi pemicu berikut, properti alur mengacu pada daftar alur yang dipicu oleh pemicu tertentu. Definisi properti mencakup nilai untuk parameter alur.

Definisi pemicu dasar

{
    "properties": {
        "name": "MyTrigger",
        "type": "<type of trigger>",
        "typeProperties": {...},
        "pipelines": [
            {
                "pipelineReference": {
                    "type": "PipelineReference",
                    "referenceName": "<Name of your pipeline>"
                },
                "parameters": {
                    "<parameter 1 Name>": {
                        "type": "Expression",
                        "value": "<parameter 1 Value>"
                    },
                    "<parameter 2 Name>": "<parameter 2 Value>"
                }
            }
        ]
    }
}

Jadwalkan pemicu

Pemicu jadwal menjalankan pipeline pada jadwal waktu tetap. Pemicu ini mendukung opsi kalender berkala dan tingkat lanjut. Misalnya, pemicu mendukung interval seperti "mingguan" atau "Senin pukul 17.00 dan Kamis pukul 21.00". Pemicu jadwal fleksibel karena pola himpunan data agnostik, dan pemicu tidak membedakan antara data deret waktu dan non deret waktu.

Untuk informasi selengkapnya tentang pemicu jadwal dan, contoh, lihat Membuat pemicu yang menjalankan alur sesuai jadwal.

Definisi jadwal pemicu

Saat Anda membuat pemicu jadwal, Anda menentukan penjadwalan dan pengulangan menggunakan definisi JSON.

Agar pemicu jadwal Anda memulai menjalankan alur kerja, sertakan referensi alur kerja dari alur kerja yang dimaksud dalam definisi pemicu. Alur dan pemicu memiliki hubungan banyak ke banyak. Beberapa pemicu dapat memulai satu rangkaian. Satu pemicu dapat mengaktifkan beberapa pipelini.

{
  "properties": {
    "type": "ScheduleTrigger",
    "typeProperties": {
      "recurrence": {
        "frequency": <<Minute, Hour, Day, Week>>,
        "interval": <<int>>, // How often to fire
        "startTime": <<datetime>>,
        "endTime": <<datetime>>,
        "timeZone": "UTC",
        "schedule": { // Optional (advanced scheduling specifics)
          "hours": [<<0-24>>],
          "weekDays": [<<Monday-Sunday>>],
          "minutes": [<<0-60>>],
          "monthDays": [<<1-31>>],
          "monthlyOccurrences": [
            {
              "day": <<Monday-Sunday>>,
              "occurrence": <<1-5>>
            }
          ]
        }
      }
    },
  "pipelines": [
    {
      "pipelineReference": {
        "type": "PipelineReference",
        "referenceName": "<Name of your pipeline>"
      },
      "parameters": {
        "<parameter 1 Name>": {
          "type": "Expression",
          "value": "<parameter 1 Value>"
        },
        "<parameter 2 Name>": "<parameter 2 Value>"
      }
    }
  ]}
}

Penting

Properti parameter adalah properti wajib dari elemen alur. Jika alur Anda tidak mengambil parameter apa pun, Anda harus menyertakan definisi JSON kosong untuk properti parameter.

Gambaran umum Skema

Tabel berikut menyediakan gambaran umum tingkat tinggi dari elemen skema utama yang terkait dengan pengulangan dan penjadwalan pemicu:

Properti JSON Deskripsi
startTime Nilai tanggal-waktu. Untuk jadwal dasar, nilai properti startTime berlaku untuk kemunculan pertama. Untuk jadwal yang kompleks, pemicu mulai tidak lebih awal dari nilai startTime yang ditentukan.
akhir waktu Tanggal dan waktu akhir pemicu. Pemicu tidak dieksekusi setelah tanggal dan waktu akhir yang ditentukan. Nilai untuk properti tidak boleh merupakan masa lalu.
zona waktu Zona waktu. Untuk daftar zona waktu yang didukung, lihat Membuat pemicu yang menjalankan alur sesuai jadwal.
kekambuhan Objek pengulangan yang menentukan aturan pengulangan untuk pemicu. Objek pengulangan mendukung elemen frekuensi, interval, Waktu selesai, jumlah, dan jadwal. Saat objek pengulangan ditentukan, elemen frekuensi diperlukan. Elemen lain dari objek pengulangan bersifat opsional.
frekuensi Satuan frekuensi di mana pemicu berulang. Nilai yang didukung termasuk "menit", "jam", "hari", "minggu", dan "bulan".
Interval Bilangan bulat positif yang menunjukkan interval untuk nilai frekuensi. Nilai frekuensi menentukan seberapa sering pemicu berjalan. Misalnya, jika interval adalah 3 dan frekuensi adalah "minggu," pemicu berulang tiap 3 minggu.
jadwal Jadwal pengulangan pemicu. Pemicu dengan nilai frekuensi tertentu mengubah pola kemunculannya berdasarkan jadwal pengulangan. Properti jadwal berisi modifikasi untuk pengulangan yang didasarkan pada menit, jam kerja, hari kerja, hari bulan, dan nomor minggu.

Catatan

Untuk zona waktu yang menerapkan waktu musim panas, waktu pemicu akan menyesuaikan secara otomatis untuk perubahan dua kali setahun, jika pengulangan diatur ke Hari atau lebih. Untuk memilih keluar dari perubahan waktu siang hari, pilih zona waktu yang tidak menerapkan waktu siang hari, misalnya UTC.

Penyesuaian waktu musim panas hanya terjadi untuk pemicu dengan pengulangan yang diatur ke Harian atau lebih. Jika pemicu diatur ke frekuensi Jam atau Menit, maka pemicu akan terus aktif pada interval yang teratur.

Contoh pemicu jadwal

{
  "properties": {
    "name": "MyTrigger",
    "type": "ScheduleTrigger",
    "typeProperties": {
      "recurrence": {
        "frequency": "Hour",
        "interval": 1,
        "startTime": "2017-11-01T09:00:00-08:00",
        "endTime": "2017-11-02T22:00:00-08:00"
      }
    },
    "pipelines": [{
        "pipelineReference": {
          "type": "PipelineReference",
          "referenceName": "SQLServerToBlobPipeline"
        },
        "parameters": {}
      },
      {
        "pipelineReference": {
          "type": "PipelineReference",
          "referenceName": "SQLServerToAzureSQLPipeline"
        },
        "parameters": {}
      }
    ]
  }
}

Default skema, batasan, dan contoh

Properti JSON Jenis Wajib Nilai bawaan Nilai yang valid Contoh
startTime benang Ya Tidak ISO 8601 tanggal-waktu "startTime" : "2013-01-09T09:30:00-08:00"
kekambuhan objek Ya Tidak Objek pengulangan "recurrence" : { "frequency" : "monthly", "interval" : 1 }
Interval nomor Tidak 1 1 hingga 1000 "interval":10
akhir waktu benang Ya Tidak Nilai tanggal-waktu yang mewakili waktu di masa mendatang "endTime" : "2013-02-09T09:30:00-08:00"
jadwal objek Tidak Tidak Objek jadwal "schedule" : { "minute" : [30], "hour" : [8,17] }

Properti startTime

Tabel berikut ini memperlihatkan kepada Anda bagaimana properti startTime mengontrol pemicu berjalan:

nilai waktu mulai Pengulangan tanpa jadwal Pengulangan dengan jadwal
Waktu mulai sudah berlalu Menghitung waktu eksekusi pertama di masa mendatang setelah waktu mulai, dan dijalankan pada saat itu.

Menjalankan eksekusi-eksekusi selanjutnya yang dihitung berdasarkan waktu eksekusi terakhir.

Lihat contoh yang mengikuti tabel ini.
Pemicu dimulai tidak lebih awal dari waktu mulai yang ditentukan. Kemunculan pertama didasarkan pada jadwal, dihitung dari waktu mulai.

Menjalankan eksekusi selanjutnya berdasarkan jadwal berulang.
Waktu mulai adalah di masa depan atau waktu saat ini Berjalan sekali pada waktu mulai yang ditentukan.

Menjalankan eksekusi-eksekusi selanjutnya yang dihitung berdasarkan waktu eksekusi terakhir.
Pemicu dimulai tidak lebih awal dari waktu mulai yang ditentukan. Kemunculan pertama didasarkan pada jadwal, dihitung dari waktu mulai.

Menjalankan eksekusi selanjutnya berdasarkan jadwal berulang.

Mari kita lihat contoh apa yang terjadi ketika waktu mulai sudah berlalu, dengan pengulangan, tetapi tidak ada jadwal. Asumsikan waktu saat ini adalah 08-04-2017 13.00, waktu mulai adalah 07-04-2017 14.00, dan pengulangan adalah tiap dua hari. (Nilai pengulangan ditentukan dengan mengatur properti frekuensi ke "hari" dan properti interval ke 2.) Perhatikan bahwa nilai startTime sudah berlalu dan terjadi sebelum waktu saat ini.

Dalam kondisi ini, eksekusi pertam adalah 09-04-2017 pukul 14.00. Mesin Scheduler menghitung jadwal pelaksanaan dari waktu mulai. Setiap kejadian di masa lalu diabaikan. Mesin menggunakan instance selanjutnya yang akan terjadi di masa depan. Dalam skenario ini, waktu mulai adalah 07-04-2017 pada pukul 14.00. Instans berikutnya adalah dua hari setelah waktu itu, yaitu pada 2017-04-09 pukul 14.00.

Waktu eksekusi pertama sama bahkan apakah startTime adalah 05-04-2017 14.00 atau 01-04-2017 14.00. Setelah eksekusi pertama, eksekusi berikutnya dihitung menggunakan jadwal. Oleh karena itu, eksekusi selanjutnya terjadi pada 11-04-2017 pukul 14.00, lalu pada 13-04-2017 pukul 14.00, selanjutnya pada 15-04-2017 pukul 14.00, dan sebagainya.

Terakhir, ketika jam atau menit tidak ditetapkan dalam jadwal pemicu, jam atau menit eksekusi pertama digunakan sebagai default.

atribut jadwal

Anda dapat menggunakan jadwaluntuk membatasi jumlah eksekusi pemicu. Misalnya, jika pemicu dengan frekuensi bulanan dijadwalkan untuk beroperasi hanya pada hari ke-31, maka pemicu tersebut hanya beroperasi pada bulan-bulan yang benar-benar memiliki hari ke-31.

Anda juga dapat menggunakan jadwal untuk memperluas jumlah eksekusi pemicu. Misalnya, pemicu dengan frekuensi bulanan yang dijadwalkan berjalan pada hari 1 dan 2 dalam sebulan, berjalan pada hari pertama dan kedua dalam sebulan, bukan sebulan sekali.

Jika beberapa elemen jadwal ditentukan, urutan evaluasi berdasarkan dari pengaturan jadwal terbesar hingga terkecil: jumlah minggu, hari dalam sebulan, hari kerja, jam, menit.

Tabel berikut ini menjelaskan elemen jadwal secara terperinci:

Elemen JSON Deskripsi Nilai yang valid
menit Menit dari jam saat pemicu dijalankan. - Bilangan bulat
- Rangkaian Bilangan Bulat
hours Jam-jam dalam sehari ketika pemicu berjalan. - Bilangan bulat
- Rangkaian Bilangan Bulat
hariKerja Hari-hari dalam minggu saat pemicu berjalan. Nilai hanya dapat ditentukan dengan frekuensi mingguan.
- Senin
- Selasa
- Rabu
- Kamis
- Jumat
- Sabtu
- Minggu
- Rangkaian nilai hari (ukuran rangkaian maksimum adalah 7)

Nilai hari tidak peka huruf besar/kecil
monthlyKejadian Hari-hari dalam bulan ketika pemicu aktif. Nilai hanya dapat ditentukan dengan frekuensi mingguan. - Rangkaian objek monthlyOccurrence: { "day": day, "occurrence": occurrence }
- Atribut hari adalah hari dalam seminggu ketika pemicu dijalankan. Misalnya, properti monthlyOccurrences dengan nilai hari{Sunday} berarti setiap Hari Minggu dalam sebulan. Atribut hari wajib.
- Atribut kemunculan adalah kemunculan hari tertentu selama bulan tersebut. Misalnya, properti monthlyOccurrences dengan nilai hari dan kemunculan{Sunday, -1} berarti hari Minggu terakhir dalam sebulan. Atribut kemunculan bersifat opsional.
bulanHari Hari dalam bulan ketika pemicu dijalankan. Nilai hanya dapat ditentukan dengan frekuensi mingguan. - Nilai apa pun <= -1 dan >= -31
- Nilai apa pun >= 1 dan <= 31
- Rangkaian nilai

Pemicu jendela tumbling

Pemicu jendela bergulir adalah jenis pemicu yang aktif pada interval waktu berkala yang ditentukan dari waktu mulai, sambil mempertahankan keadaan. Jendela-jendela tumbling adalah serangkaian interval waktu yang berukuran tetap, tidak saling tumpang tindih, dan bersebelahan.

Untuk informasi selengkapnya tentang pemicu jendela tumbling dan untuk contohnya, lihat Membuat pemicu jendela tumbling.

Contoh jadwal pengulangan pemicu

Bagian ini menyediakan contoh jadwal pengulangan. Ini berfokus pada objek jadwal dan elemennya.

Contoh mengasumsikan nilai interval adalah 1, dan nilai frekuensi sudah benar sesuai dengan definisi jadwal. Misalnya, Anda tidak dapat memiliki nilai frekuensi "hari" dan juga memiliki modifikasi monthDays di objek jadwal. Pembatasan semacam ini dijelaskan dalam tabel di bagian sebelumnya.

Contoh Deskripsi
{"hours":[5]} Jalankan pada pukul 05.00 tiap hari.
{"minutes":[15], "hours":[5]} Berjalan pukul 5.15 setiap hari.
{"minutes":[15], "hours":[5,17]} Lari pukul 5:15 pagi dan 5:15 sore setiap hari.
{"minutes":[15,45], "hours":[5,17]} Beroperasi pukul 5.15 pagi, 5.45 pagi, 5.15 sore, dan 5.45 sore setiap hari.
{"minutes":[0,15,30,45]} Berjalan setiap 15 menit.
{hours":[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]} Jalankan tiap jam.

Pemicu ini berjalan setiap jam. Menit dikontrol oleh nilai startTime saat nilai ditentukan. Jika nilai tidak ditentukan, menit dikontrol oleh waktu pembuatan. Misalnya, jika waktu mulai atau waktu pembuatan (mana saja yang berlaku) adalah 12:25 PM, pemicu berjalan pukul 00:25, 01:25, 02:25, ..., dan 23:25.

Jadwal ini setara dengan pemicu yang memiliki nilai frekuensi "jam", nilai interval 1, dan tidak ada jadwal. Jadwal ini dapat digunakan dengan nilai frekuensi dan interval yang berbeda untuk membuat pemicu lain. Misalnya, ketika nilai frekuensi adalah "bulan," jadwal hanya berjalan sebulan sekali, daripada tiap hari, ketika nilai frekuensi adalah "hari."
{"minutes":[0]} Jalankan setiap jam tepat pada jam.

Pemicu ini dijalankan setiap jam tepat pada jam mulai pukul 12.00 tengah malam, 01.00, 02.00, dan sebagainya.

Jadwal ini setara dengan pemicu dengan nilai frekuensi "jam" dan nilai startTime nol menit, atau tidak ada jadwal, tetapi nilai frekuensi "hari". Jika nilai frekuensi adalah "minggu" atau "bulan," jadwal hanya berjalan satu hari seminggu atau satu hari sebulan.
{"minutes":[15]} Berjalan pada 15 menit setelah setiap jam.

Pemicu ini dijalankan setiap jam pada 15 menit setelah jam mulai pukul 00:15, 01:15, 02:15, dan seterusnya, dan berakhir pada pukul 23:15.
{"hours":[17], "weekDays":["saturday"]} Jalankan pukul 17.00 pada hari Sabtu tiap minggu.
{"hours":[17], "weekDays":["monday", "wednesday", "friday"]} Jalankan pukul 17.00 pada hari Senin, Rabu, dan Jumat tiap minggu.
{"minutes":[15,45], "hours":[17], "weekDays":["monday", "wednesday", "friday"]} Beroperasi pukul 17.15 dan 17.45 pada hari Senin, Rabu, dan Jumat setiap minggu.
{"minutes":[0,15,30,45], "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Jalankan tiap 15 menit pada hari kerja.
{"minutes":[0,15,30,45], "hours": [9, 10, 11, 12, 13, 14, 15, 16] "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Berjalan setiap 15 menit pada hari kerja antara pukul 09:00 dan 16:45.
{"weekDays":["tuesday", "thursday"]} Jalankan pada hari Selasa dan Kamis pada waktu mulai yang ditentukan.
{"minutes":[0], "hours":[6], "monthDays":[28]} Jalankan pukul 06.00 pada tanggal dua puluh delapan setiap bulan (dengan asumsi nilai frekuensi adalah "bulan").
{"minutes":[0], "hours":[6], "monthDays":[-1]} Berjalan pada pukul 06.00 di hari terakhir dalam sebulan.

Untuk menjalankan pemicu pada hari terakhir sebulan, gunakan -1, bukan tanggal 28, 29, 30, atau 31.
{"minutes":[0], "hours":[6], "monthDays":[1,-1]} Jalankan pada pukul 06.00 pada hari pertama dan terakhir setiap bulan.
{monthDays":[1,14]} Jalankan pada hari pertama dan keempat belas tiap bulan pada waktu mulai yang ditentukan.
{"minutes":[0], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Dilaksanakan pada hari Jumat pertama setiap bulan pada pukul 05.00 pagi.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Jalankan pada hari Jumat pertama tiap bulan pada waktu mulai yang ditentukan.
{"monthlyOccurrences":[{"day":"friday", "occurrence":-3}]} Jalankan pada hari Jumat ketiga dari akhir bulan, tiap bulan, pada waktu mulai yang ditentukan.
{"minutes":[15], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Dilaksanakan pada hari Jumat pertama dan terakhir setiap bulan pukul 05:15 pagi hari.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Jalankan pada hari Jumat pertama dan terakhir tiap bulan pada waktu mulai yang ditentukan.
{"monthlyOccurrences":[{"day":"friday", "occurrence":5}]} Jalankan pada hari Jumat kelima tiap bulan pada waktu mulai yang ditentukan.

Ketika tidak ada Jumat kelima dalam sebulan, pipeline tidak berjalan. Untuk menjalankan pemicu pada hari Jumat terakhir yang terjadi setiap bulan, pertimbangkan untuk menggunakan -1, bukan 5, untuk nilai kemunculan.
{"minutes":[0,15,30,45], "monthlyOccurrences":[{"day":"friday", "occurrence":-1}]} Berjalan setiap 15 menit pada hari Jumat terakhir dari bulan.
{"minutes":[15,45], "hours":[5,17], "monthlyOccurrences":[{"day":"wednesday", "occurrence":3}]} Berjalan pukul 05.15 pagi, 05.45 pagi, 17.15 petang, dan 17.45 petang pada hari Rabu ketiga setiap bulan.

Pemicu berbasis peristiwa

Pemicu berbasis kejadian menjalankan alur eksekusi sebagai respons terhadap suatu kejadian. Dari perspektif perilaku, jika Anda menyetop dan memulai kembali pemicu berbasis peristiwa, ia akan melanjutkan pola pemicu lama yang dapat mengakibatkan pemicu pipeline yang tidak diinginkan. Dalam hal ini, Anda harus menghapus dan membuat pemicu berbasis peristiwa baru. Pemicu baru dimulai baru tanpa riwayat. Ada dua jenis pemicu berbasis peristiwa.

  • Pemicu kejadian penyimpanan menjalankan alur pada kejadian yang terjadi di akun Storage, seperti kedatangan file, atau penghapusan file di akun Azure Blob Storage.
  • Pemicu peristiwa kustom memproses dan menangani artikel kustom di Event Grid

Untuk informasi selengkapnya tentang pemicu berbasis kejadian, lihat Pemicu Kejadian Penyimpanan dan Pemicu Kejadian Kustom.

Perbandingan jenis pemicu

Pemicu jendela tumbling dan pemicu jadwal beroperasi berdasarkan sinyal waktu. Bagaimana perbedaan keduanya?

Catatan

Pemicu jendela tumbling menunggu hingga eksekusi pipeline yang dipicu selesai. Status pelaksanaannya mencerminkan status dari alur pelaksanaan yang dipicu. Misalnya, jika eksekusi alur yang dipicu dibatalkan, eksekusi pemicu jendela tumbling yang sesuai ditandai sebagai dibatalkan. Ini berbeda dengan perilaku "luncurkan dan lupakan" dari pemicu jadwal, yang dianggap berhasil selama pelaksanaan pipeline dimulai.

Tabel berikut menyediakan perbandingan antara pemicu jendela gelinding dan pemicu penjadwalan:

Barang Pemicu jendela tumbling Jadwalkan pemicu
Skenario isi ulang Didukung. Jalankan pipeline dapat dijadwalkan untuk jendela waktu yang sudah berlalu. Tidak didukung. Pelaksanaan alur hanya dapat dilakukan pada periode waktu yang dimulai dari waktu saat ini hingga masa mendatang.
Keandalan 100% keandalan. Eksekusi alur dapat dijadwalkan untuk semua jangka waktu dari tanggal mulai tertentu tanpa celah. Kurang dapat diandalkan.
Kemampuan coba lagi Didukung. Jalannya pipeline yang gagal memiliki kebijakan percobaan ulang default 0, atau kebijakan yang ditentukan oleh pengguna dalam definisi pemicu. Secara otomatis mencoba lagi ketika eksekusi alur gagal karena batasan persaingan/server/pembatasan jumlah permintaan (artinya, kode status 400: Kesalahan Pengguna, 429: Terlalu Banyak Permintaan, dan 500: Kesalahan Server Internal). Tidak didukung.
Konkurensi Didukung. Pengguna dapat secara eksplisit menetapkan batas konkurensi untuk pemicu. Mengizinkan antara 1 dan 50 penjaluran tertunda konkuren. Tidak didukung.
Variabel sistem Bersamaan dengan @trigger().scheduledTime dan @trigger().startTime, ini juga mendukung penggunaan variabel sistem WindowStart dan WindowEnd. Pengguna dapat mengakses trigger().outputs.windowStartTime dan trigger().outputs.windowEndTime sebagai variabel sistem pemicu dalam definisi pemicu. Nilai digunakan sebagai waktu mulai jendela dan waktu akhir jendela, masing-masing. Misalnya, untuk pemicu jendela bergulir yang dijalankan setiap jam, untuk jendela 01.00 hingga 02.00, definisi adalah trigger().outputs.windowStartTime = 2017-09-01T01:00:00Z dan trigger().outputs.windowEndTime = 2017-09-01T02:00:00Z. Hanya mendukung variabel @trigger().scheduledTime dan @trigger().startTime default.
Hubungan antara pipa dan pemicu Mendukung hubungan satu ke satu. Hanya satu pipa yang dapat dipicu. Mendukung relasi banyak ke banyak. Beberapa pemicu dapat memulai satu rangkaian. Satu pemicu dapat mengaktifkan beberapa pipelini.

Lihat tutorial berikut: