Ana içeriğe geç

GetInstances Task

GetInstances Task, sayfalama, sıralama ve filtreleme desteğiyle diğer workflow'lardan instance verilerini çekmeyi sağlar. Workflow'lar arası veri sorguları ve toplu görünümler oluşturmak için kullanılır.

Görev Tanımı

Schema: task-definition.schema.json

{
"key": "fetch-customer-orders",
"version": "1.0.0",
"domain": "core",
"flow": "sys-tasks",
"flowVersion": "1.0.0",
"tags": ["data-fetch", "workflow-communication", "pagination"],
"attributes": {
"type": "15",
"config": {
"domain": "sales",
"flow": "order-workflow",
"page": 1,
"pageSize": 10,
"sort": "-CreatedAt",
"filter": ["{\"status\":{\"eq\":\"active\"}}"]
}
}
}

Konfigürasyon Alanları

AlanTipZorunluVarsayılanAçıklama
domainstringEvet-Hedef workflow domain'i
flowstringEvet-Hedef workflow adı
pageintegerHayır1Sayfa numarası (1 tabanlı)
pageSizeintegerHayır10Sayfa başına öğe sayısı
sortstringHayır-Sıralama alanı ve yönü (örn: -CreatedAt)
filterstring[]Hayır-Filtre ifadeleri
useDaprbooleanHayırfalseDoğrudan HTTP yerine Dapr servis çağrısı kullan
headersobjectHayır-HTTP header'ları
timeoutSecondsintegerHayır30Timeout süresi (saniye, minimum: 1)
validateSslbooleanHayırtrueSSL sertifika doğrulaması
acceptedStatusCodesstring[]Hayır-Başarılı kabul edilecek hata kodları ("403", "4xx" vb.)

Sort Parametresi

FormatAçıklamaÖrnek
FieldNameArtan sıralamaCreatedAt
-FieldNameAzalan sıralama-CreatedAt

Yaygın sıralama alanları: CreatedAt, UpdatedAt, Key

Filter Parametresi

filter parametresi Instance Filtreleme Kılavuzu ile uyumludur:

{
"filter": ["{\"and\":[{\"status\":{\"eq\":\"Active\"}},{\"attributes.amount\":{\"gt\":\"1000\"}}]}"]
}

Property Erişimi

PropertySetter MetoduAçıklama
TriggerDomainSetDomain(string domain)Hedef domain
TriggerFlowSetFlow(string flow)Hedef flow
PageSetPage(int page)Sayfa numarası
PageSizeSetPageSize(int pageSize)Sayfa boyutu
SortSetSort(string? sort)Sıralama
FilterSetFilter(string? filter)Filtre (string)
FilterSetFilter(object? filter)Filtre (object, JSON serialize edilir)
HeadersSetHeaders(Dictionary<string, string?> headers)Tüm header'lar
-AddHeader(string key, string? value)Tekil header ekle
-RemoveHeader(string key)Tekil header kaldır
UseDaprSetUseDapr(bool useDapr)Dapr service invocation
ValidateSSLSetValidateSSL(bool validateSSL)SSL doğrulama

Standart Yanıt

{
"links": {
"self": "/api/v1/core/workflows/order-workflow/instances?page=1&pageSize=10",
"first": "/api/v1/core/workflows/order-workflow/instances?page=1&pageSize=10",
"next": "/api/v1/core/workflows/order-workflow/instances?page=2&pageSize=10",
"prev": ""
},
"items": [
{
"data": {
"orderId": "ORDER-001",
"status": "pending",
"amount": 1500
},
"etag": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
"extensions": {}
},
{
"data": {
"orderId": "ORDER-002",
"status": "active",
"amount": 2300
},
"etag": "01ARZ3NDEKTSV4RRFFQ69G5FAW",
"extensions": {}
}
]
}

Yanıt Alanları

AlanAçıklama
links.selfMevcut sayfa URL'i
links.firstİlk sayfa URL'i
links.nextSonraki sayfa URL'i (son sayfadaysa boş)
links.prevÖnceki sayfa URL'i (ilk sayfadaysa boş)
itemsInstance verileri dizisi
items[].dataInstance veri nesnesi
items[].etagEşzamanlılık kontrolü için ETag
items[].extensionsExtension verileri (varsa)