Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Hub pemantauan di Kit Pengembangan Beban Kerja Microsoft Fabric adalah pusat pemantauan terpusat. Hub pemantauan dirancang bagi pengguna Fabric untuk melacak pekerjaan latar belakang item. Untuk informasi selengkapnya, lihat Menggunakan hub pemantauan.
Backend
Bagian ini menjelaskan cara menyiapkan implementasi backend untuk hub pemantauan.
Tentukan JobScheduler properti dalam manifes item
Untuk mengaktifkan dukungan pekerjaan, item harus menentukan jenis pekerjaan yang didukungnya.
JobScheduler Tambahkan properti ke file manifes item. Properti JobScheduler ini memungkinkan pekerjaan yang dikelola Fabric untuk item Anda.
Tabel berikut ini menyediakan gambaran umum properti definisi yang didukung JobScheduler :
| Properti | Deskripsi | Nilai yang dapat dipakai |
|---|---|---|
OnDemandJobDeduplicateOptions |
Mengatur opsi deduplikasi untuk pekerjaan item sesuai permintaan. |
-
None: Jangan deduplikasi pekerjaan. - PerItem: Pastikan hanya ada satu pekerjaan aktif yang dijalankan untuk item dan jenis pekerjaan yang sama. - PerUser: Pastikan hanya ada satu pekerjaan aktif yang dijalankan untuk pengguna dan item yang sama. |
ScheduledJobDeduplicateOptions |
Mengatur opsi deduplikasi untuk pekerjaan item sesuai permintaan. |
-
None: Jangan deduplikasi pekerjaan. - PerItem: Pastikan hanya ada satu pekerjaan aktif yang dijalankan untuk item dan jenis pekerjaan yang sama. - PerUser: Pastikan hanya ada satu pekerjaan aktif yang dijalankan untuk pengguna dan item yang sama. |
ItemJobTypes |
Daftar jenis pekerjaan dengan properti yang ditentukan. |
-
Name: Nama jenis pekerjaan, yang sepenuhnya dapat disesuaikan oleh vendor perangkat lunak independen (ISV). |
Menerapkan API beban kerja pekerjaan
Untuk berintegrasi dengan pekerjaan, beban kerja harus menerapkan API Pekerjaan seperti yang didefinisikan dalam spesifikasi Swagger.
Tiga API Fabric terkait dengan pekerjaan:
Memulai instans pekerjaan
Titik Akhir:POST /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}
API ini dipanggil untuk memulai eksekusi pekerjaan.
-
Respons: API harus mengembalikan
202 Acceptedstatus, menunjukkan bahwa pekerjaan berhasil dijadwalkan oleh sistem.
Mendapatkan status instans pekerjaan
Titik akhir: GET /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}
Fabric menggunakan mekanisme polling untuk melacak status instans pekerjaan. API ini dipanggil setiap menit saat instans pekerjaan sedang berlangsung untuk memeriksa statusnya. Polling berhenti ketika pekerjaan selesai, baik berhasil atau karena kegagalan.
Respons: API harus mengembalikan
200 OKstatus bersama dengan status instans pekerjaan saat ini. Respons harus mencakup status pekerjaan, waktu mulai dan waktu akhir, dan detail kesalahan jika pekerjaan gagal.Status pekerjaan yang didukung:
NotStartedInProgressCompletedFailedCancelled
Penting: Bahkan jika pekerjaan gagal, API ini harus mengembalikan
200 OKstatus danFailedstatus pekerjaan.
Membatalkan instans pekerjaan
Titik akhir: POST /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}/cancel
Panggil API ini untuk membatalkan instans pekerjaan yang sedang berlangsung.
-
Respons: API harus mengembalikan
200 OKstatus bersama dengan Status Instans Pekerjaan saat ini. Respons harus mencakup status pekerjaan, waktu mulai dan berakhir, dan detail kesalahan jika pekerjaan gagal.
Informasi selengkapnya
Jumlah deadletter pekerjaan:
Pekerjaan ditandai sebagai "surat mati" oleh platform Fabric jika tidak dimulai dalam waktu 2 jam.
Contoh implementasi
Untuk contoh implementasi API ini, lihat JobsControllerImpl.cs di repositori sampel.
Ujung depan
Bagian ini menjelaskan cara menyiapkan implementasi frontend untuk hub pemantauan.
Menjalankan pekerjaan di UI Fabric
Setelah Anda mengintegrasikan pekerjaan ke dalam item Anda di backend, pengguna dapat mulai menjalankan pekerjaan.
Pengguna memiliki dua opsi untuk menjalankan pekerjaan di Fabric:
- Pekerjaan terjadwal yang tidak dijadwal. Opsi ini didefinisikan oleh pengguna untuk berjalan secara berkala melalui pengalaman penjadwal Fabric bersama.
- Sesuai permintaan dengan menggunakan UI beban kerja dengan dan SDK klien ekstensi.
Pengalaman penjadwal fabric dari UI
Opsi titik masuk:
Gunakan jadwal menu konteks.
Gunakan
workloadClient.itemSettings.open, di mana ID pengaturan yang dipilih adalahSchedule.
Tata letak
- Waktu refresh terakhir yang berhasil dan waktu refresh berikutnya.
- Tombol Refresh .
- Pengaturan jadwal item.
Onboarding
Langkah 1: Menambahkan item menu konteks jadwal
Untuk menampilkan tombol Jadwalkan di menu konteks item, tambahkan entri baru ke contextMenuItems properti dalam manifes frontend item:
{
"name": "schedule"
}
Langkah 2: Menambahkan pengaturan jadwal item
Tambahkan entri baru schedule ke properti pengaturan item di manifes frontend:
"schedule": {
"itemJobType": "ScheduledJob",
"refreshType": "Refresh"
}
-
itemJobType: Jenis pekerjaan item yang ditentukan dalam file XML definisi pekerjaan item. -
refreshType: Menentukan tampilan tombol Refresh . Pilih dari tiga opsi: GunakanRefreshdanRununtuk mengaktifkan tombol refresh dan nama tampilan, atau aturNoneuntuk menonaktifkan tombol Refresh .
API JavaScript Pekerjaan
Selain pekerjaan terjadwal yang tidak diawasi, beban kerja dapat menjalankan pekerjaan sesuai permintaan atau bahkan memulai pekerjaan terjadwal sesuai permintaan. Kami menyediakan sekumpulan API sebagai bagian dari klien ekstensi kami:
API pekerjaan terjadwal:
getItemScheduledJobs(objectId: string): Promise<ItemSchedule>createItemScheduledJobs(createItemScheduledJobs: CreateItemScheduleParams): Promise<ItemSchedule>updateItemScheduledJobs(updateItemScheduleParams: UpdateItemScheduleParams): Promise<ItemSchedule>
API instans pekerjaan tertentu:
runItemJob(jobParams: RunItemJobParams): Promise<ItemJobInstance>cancelItemJob(jobParams: CancelItemJobParams): Promise<CancelItemJobResult>getItemJobHistory(getHistoryParams: GetItemJobHistoryParams): Promise<ItemJobHistory>
Catatan
getItemJobHistory mengembalikan pekerjaan dengan status yang saat ini disimpan di Fabric. Karena Fabric saat ini hanya mengandalkan polling, ketahuilah bahwa statusnya mungkin bukan yang terbaru. Jika Anda mengharuskan antarmuka pengguna Anda untuk mencerminkan status yang paling akurat sesegera mungkin, kami sarankan Anda mendapatkan status langsung dari backend.
Integrasikan dengan hub pemantauan
Ketika data siap, pekerjaan item secara otomatis muncul di hub pemantauan. Langkah selanjutnya adalah menambahkan jenis item Anda ke panel filter dan mengonfigurasi dan menerapkan tindakan yang tersedia yang dapat diambil pengguna terhadap pekerjaan.
Mengaktifkan item Anda di panel filter hub pemantauan
Untuk menambahkan item Anda ke panel filter, tentukan properti baru dalam manifes frontend item dan atur supportedInMonitoringHub ke true.
Mengintegrasikan dengan tindakan cepat pekerjaan
Pengguna dapat menjalankan serangkaian operasi terhadap pekerjaan, termasuk membatalkan, mencoba kembali, dan mendapatkan detail.
Tim beban kerja memutuskan mana yang ingin mereka aktifkan dengan mengatur itemJobConfig properti dalam manifes frontend item. Jika tidak diatur, ikon tidak terlihat.
Misalnya, konfigurasi yang kami tambahkan ke item sampel kami yang mendukung semua tindakan pekerjaan muncul nanti di bagian ini.
Saat pengguna memilih ikon Batalkan dari pekerjaan item sampel, kami memanggil tindakan item.job.cancelyang disediakan . Konteks terkait pekerjaan ke ekstensi Fabric.WorkloadSample diimplementasikan oleh beban kerja untuk benar-benar membatalkan pekerjaan.
Platform Fabric juga mengharapkan respons dari tindakan ini untuk memberi tahu pengguna dengan hasilnya.
"itemJobActionConfig": {
"registeredActions": {
"detail": {
"extensionName": "Fabric.WorkloadSample",
"action": "item.job.detail"
},
"cancel": {
"extensionName": "Fabric.WorkloadSample",
"action": "item.job.cancel"
},
"retry": {
"extensionName": "Fabric.WorkloadSample",
"action": "item.job.retry"
}
}
}
Panel Detail Pekerjaan
Ketika tim beban kerja mendaftarkan tindakan untuk informasi terperinci, Fabric mengharapkan tindakan beban kerja untuk mengembalikan data dalam format tertentu sehingga Fabric dapat menampilkan informasi tersebut di panel samping.
Saat ini, pasangan kunci/nilai dalam teks biasa atau hyperlink didukung.
- Untuk contoh penanganan tindakan pekerjaan, lihat index.worker.ts dalam repositori sampel. Dalam file, cari tindakan yang dimulai dengan
item.job.
Eksekusi terbaru
Selain menampilkan status pekerjaan di hub pemantauan, Fabric menawarkan pengalaman pengguna bersama untuk menampilkan eksekusi item tertentu baru-baru ini.
Titik masuk:
Menu>konteks Eksekusi terbaru
Menggunakan
workloadClient.itemRecentRuns.open.
Onboarding
Langkah 1: Tambahkan recentRuns item menu konteks
Untuk menampilkan tombol Eksekusi terbaru di menu item, tambahkan entri baru ke contextMenuItems properti dalam manifes frontend item.
Contoh:
{
"name": "recentruns"
}
Langkah 2: Menambahkan pengaturan item recentRun
Tambahkan entri baru recentRun ke properti pengaturan item di manifes frontend.
Contoh:
"recentRun": {
"useRecentRunsComponent": true,
}
Integrasi pekerjaan di pita item sampel
Sebagai bagian dari sampel beban kerja UI kami, kami menambahkan bagian yang didedikasikan untuk pekerjaan ke pita item.
Untuk contoh bagaimana pita ini diimplementasikan, lihat ItemTabToolbar.tsx dalam repositori sampel.