Aracılığıyla paylaş


Doku izleme hub'ını ayarlama

Microsoft Fabric İş Yükü Geliştirme Seti'ndeki izleme merkezi merkezidir. İzleme hub'ı, Doku kullanıcılarının öğe arka plan işlerini izlemesi için tasarlanmıştır. Daha fazla bilgi için bkz . İzleme hub'ını kullanma.

Arka uç

Bu bölümde, izleme hub'ı için bir arka uç uygulamasının nasıl ayarlanacağı açıklanmaktadır.

JobScheduler Öğe bildiriminde özelliğini tanımlama

İş desteğini etkinleştirmek için öğenin desteklediği iş türlerini belirtmesi gerekir. JobScheduler özelliğini öğe bildirim dosyasına ekleyin. özelliği, JobScheduler öğeleriniz için Doku tarafından yönetilen işleri etkinleştirir.

Aşağıdaki tabloda desteklenen JobScheduler tanım özelliklerine genel bir bakış sağlanmaktadır:

Özellik Açıklama Olası değerler
OnDemandJobDeduplicateOptions İsteğe bağlı öğe işleri için yinelenenleri kaldırma seçeneğini ayarlar. - None: İşi yinelenenleri kaldırma.
- PerItem: Aynı öğe ve iş türü için yalnızca bir etkin iş çalıştırması olduğundan emin olun.
- PerUser: Aynı kullanıcı ve öğe için yalnızca bir etkin iş çalıştırması olduğundan emin olun.
ScheduledJobDeduplicateOptions İsteğe bağlı öğe işleri için yinelenenleri kaldırma seçeneğini ayarlar. - None: İşi yinelenenleri kaldırma.
- PerItem: Aynı öğe ve iş türü için yalnızca bir etkin iş çalıştırması olduğundan emin olun.
- PerUser: Aynı kullanıcı ve öğe için yalnızca bir etkin iş çalıştırması olduğundan emin olun.
ItemJobTypes Belirtilen özelliklere sahip iş türlerinin listesi. - Name: Bağımsız yazılım satıcısı (ISV) tarafından tamamen özelleştirilebilir olan iş türünün adı.

İş yükü API'lerini uygulama

İşlerle tümleştirmek için bir iş yükünün Swagger belirtiminde tanımlandığı gibi İşler API'lerini uygulaması gerekir.

İşle ilgili üç Yapı API'si vardır:


İş örneğini başlatma

Endpoint:POST /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}

Bu API, bir işin yürütülmesini başlatmak için çağrılır.

  • Yanıt: API, işin sistem tarafından başarıyla zamanlandığını belirten bir 202 Accepted durum döndürmelidir.

İş örneği durumunu alma

Bitiş noktası: GET /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}

Doku, iş örneği durumunu izlemek için bir yoklama mekanizması kullanır. İş örneği durumunu denetlemek için devam ederken bu API dakikada bir çağrılır. İş tamamlandığında( başarılı veya başarısız olduğundan) yoklama durdurulur.

  • Yanıt: API, geçerli iş örneği durumuyla birlikte bir 200 OK durum döndürmelidir. Yanıt iş durumunu, başlangıç saatlerini ve bitiş saatlerini ve işin başarısız olması durumunda hata ayrıntılarını içermelidir.

    Desteklenen iş durumları:

    • NotStarted
    • InProgress
    • Completed
    • Failed
    • Cancelled

    Önemli: İş başarısız olsa bile bu API bir 200 OK durum ve Failed iş durumu döndürmelidir.


İş örneğini iptal etme

Bitiş noktası: POST /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}/cancel

Devam eden bir iş örneğini iptal etmek için bu API'yi çağır.

  • Yanıt: API, geçerli İş Örneği Durumu ile birlikte bir 200 OK durum döndürmelidir. Yanıt iş durumunu, başlangıç ve bitiş saatlerini ve iş başarısız olursa hata ayrıntılarını içermelidir.

Daha Fazla Bilgi

İş çıkmazı sayısı:

bir iş, 2 saat içinde başlamazsa Doku platformu tarafından "teslim edilemedi" olarak işaretlenir.

Örnek uygulama

Bu API'lerin örnek bir uygulaması için bkz. örnek deposundaki JobsControllerImpl.cs.

Ön uç

Bu bölümde, izleme hub'ı için bir ön uç uygulamasının nasıl ayarlanacağı açıklanmaktadır.

Doku kullanıcı arabiriminde bir iş çalıştırma

İşleri arka uçtaki öğelerinizle tümleştirdikten sonra kullanıcılar işleri çalıştırmaya başlayabilir.

Kullanıcıların Fabric'te işleri çalıştırmak için iki seçeneği vardır:

  • Katılımsız zamanlanmış bir iş. Bu seçenek, kullanıcı tarafından paylaşılan Doku zamanlayıcı deneyimi aracılığıyla düzenli aralıklarla çalıştırılacak şekilde tanımlanır.
  • ve uzantı istemci SDK'sı ile iş yükü kullanıcı arabirimini kullanarak isteğe bağlı olarak.

Kullanıcı arabiriminden doku zamanlayıcı deneyimi

  • Giriş noktası seçenekleri:

    • Bağlam menüsü zamanlamasını kullanın.

      Doku zamanlayıcı menüsündeki Zamanla seçeneğini gösteren ekran görüntüsü.

    • workloadClient.itemSettings.openSeçili ayarlar kimliğinin olduğu Scheduleyerde kullanın.

  • Düzen

    Doku zamanlayıcı ayarlarını gösteren ekran görüntüsü.

    1. Son başarılı yenileme zamanı ve sonraki yenileme zamanı.
    2. Yenile düğmesi.
    3. Öğe zamanlama ayarları.

Hazırlama

1. Adım: Zamanlama bağlamı menü öğesi ekleme

Öğe bağlam menüsünde Zamanla düğmesini göstermek için, öğe ön uç bildirimindeki contextMenuItems özelliğine yeni bir giriş ekleyin:

{
    "name": "schedule"
}

2. Adım: Öğe zamanlama ayarlarını ekleme

Ön uç bildirimindeki öğe ayarları özelliğine yeni schedule bir giriş ekleyin:

"schedule": {
    "itemJobType": "ScheduledJob",
    "refreshType": "Refresh"
}
  • itemJobType: Öğe iş tanımı XML dosyasında tanımlanan öğe iş türü.
  • refreshType: Yenile düğmesinin görüntülenmesini belirtir. Üç seçenekten birini belirleyin: Yenileme düğmesini ve görünen adı etkinleştirmek için ve kullanın RefreshRun ya da YenileNoneiçin ayarlayın.

İşler JavaScript API'leri

Katılımsız zamanlanmış işlere ek olarak, iş yükü bir işi isteğe bağlı olarak çalıştırabilir, hatta isteğe bağlı olarak zamanlanmış bir iş başlatabilir. Uzantı istemcimizin bir parçası olarak bir dizi API sağlıyoruz:

  • Zamanlanmış işler API'leri:

    • getItemScheduledJobs(objectId: string): Promise<ItemSchedule>
    • createItemScheduledJobs(createItemScheduledJobs: CreateItemScheduleParams): Promise<ItemSchedule>
    • updateItemScheduledJobs(updateItemScheduleParams: UpdateItemScheduleParams): Promise<ItemSchedule>
  • Belirli iş örneği API'leri:

    • runItemJob(jobParams: RunItemJobParams): Promise<ItemJobInstance>
    • cancelItemJob(jobParams: CancelItemJobParams): Promise<CancelItemJobResult>
    • getItemJobHistory(getHistoryParams: GetItemJobHistoryParams): Promise<ItemJobHistory>

Not

getItemJobHistory , şu anda Doku'da depolanmış durumdaki işi döndürür. Doku şu anda yalnızca yoklamayı kullanıyor olduğundan, durumun en güncel olmayabileceğini unutmayın. Kullanıcı arabiriminizin en doğru durumu en kısa sürede yansıtmasını istiyorsanız, durumu doğrudan arka uçtan almanız önerilir.

İzleme hub'ı ile tümleştirme

Veriler hazır olduğunda, öğe işleri otomatik olarak izleme hub'ında gösterilir. Sonraki adım, öğe türünüzü filtre bölmesine eklemek ve kullanıcının işlere karşı gerçekleştirebileceği kullanılabilir eylemleri yapılandırmak ve uygulamaktır.

İzleme hub'ı filtre bölmesinde öğenizi etkinleştirme

Öğenizi filtre bölmesine eklemek için, öğe ön uç bildiriminde yeni bir özellik tanımlayın ve olarak supportedInMonitoringHubayarlayıntrue.

İş hızlı eylemleriyle tümleştirme

İzleme hub'ında işler hızlı eylemler düğmelerini gösteren ekran görüntüsü.

Kullanıcı bir işte iptal etme, yeniden deneme ve ayrıntıları alma dahil olmak üzere bir dizi işlemi yürütebilir.

İş yükü ekibi, öğe ön uç bildiriminde özelliğini ayarlayarak itemJobConfig hangisini etkinleştirmek istediklerine karar verir. Ayarlanmadıysa simge görünmez.

Örneğin, tüm iş eylemlerini destekleyen örnek öğemize eklediğimiz yapılandırma bu bölümün devamında görünür.

Kullanıcı örnek öğe işinin İptal simgesini seçtiğinde, sağlanan eylemini item.job.cancelçağırırız. Uzantının Fabric.WorkloadSample işle ilgili bağlamı, işi gerçekten iptal etmek için iş yükü tarafından uygulanır.

Doku platformu ayrıca bu eylemden kullanıcıya sonuçları bildirmesi için bir yanıt bekler.

"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"
        }
    }
}

İş Ayrıntıları bölmesi

İzleme hub'ında iş ayrıntıları bölmesini gösteren ekran görüntüsü.

İş yükü ekibi ayrıntılı bilgi için eylemi kaydettirdiğinde, Doku, dokunun bu bilgileri yan panelde görüntüleyebilmesi için iş yükü eyleminin verileri belirli bir biçimde döndürmesini bekler.

Şu anda düz metin veya köprüdeki anahtar/değer çiftleri desteklenmektedir.

Son çalıştırmalar

doku, izleme hub'ında iş durumunu görüntülemeye ek olarak, belirli bir öğenin son çalıştırmalarını görüntülemek için paylaşılan bir kullanıcı deneyimi sunar.

Giriş noktaları:

  • Bağlam menüsü>Son çalıştırmalar

    Seçenekler menüsündeki son çalıştırmalar seçeneğinin ekran görüntüsü.

  • workloadClient.itemRecentRuns.open kullanma.

Hazırlama

1. Adım: Bağlam menüsü öğesi ekleme recentRuns

Öğe menüsündeki Son çalıştırmalar düğmesini göstermek için, öğe ön uç bildirimindeki contextMenuItems özelliğine yeni bir giriş ekleyin.

Örnek:

{
    "name": "recentruns"
}

2. Adım: Öğe recentRun ayarları ekleme

Ön uç bildirimindeki öğe ayarları özelliğine yeni recentRun bir giriş ekleyin.

Örnek:

"recentRun": {
     "useRecentRunsComponent": true,
}

Örnek öğe şeridinde işler tümleştirmesi

Kullanıcı arabirimi iş yükü örneğimizin bir parçası olarak, öğe şeridine işlere ayrılmış bir bölüm ekledik.

Doku kullanıcı arabirimindeki Öğe sekmesini gösteren ekran görüntüsü.

Bu şeridin nasıl uygulandığına ilişkin bir örnek için, örnek depodaki ItemTabToolbar.tsx bölümüne bakın.