Tüm Ürünler
Search
Belge Merkezi

CloudFlow:Service integration modes

Son Güncelleme:Oct 06, 2026

CloudFlow, bir iş akışı içindeki Alibaba Cloud hizmetlerini ve harici kaynakları çağırmak için Task durumlarını kullanır. Entegrasyon modu, bir Task durumunun hizmet yanıtını nasıl ele aldığını kontrol eder; yanıtı senkron olarak bekler, eşzamansız bir işin tamamlanmasını bekler veya harici bir sistemden geri arama gelene kadar duraklatır.

Üç entegrasyon modu mevcuttur:

  • RequestComplete -- Bir istek gönderin ve yanıtı bekleyin (varsayılan).

  • WaitForSystemCallback -- Eşzamansız bir istek gönderin ve sistemin tamamlanmayı bildirmesini bekleyin.

  • WaitForCustomCallback -- Bir görev belirteci ile istek gönderin ve harici bir sistem sonuçla geri arama yapana kadar duraklatın.

Entegrasyon modu seçin

Hangi modun kullanım durumunuza uygun olduğunu belirlemek için aşağıdaki tabloyu kullanın.

Kriterler RequestComplete WaitForSystemCallback WaitForCustomCallback
Ne zaman kullanılır Hedef hizmet senkron bir yanıt döndürdüğünde Hedef hizmet eşzamansız bir iş çalıştırdığında ve tamamlanmayı kendi başına bildirdiğinde İş akışının devam etmesi için harici bir sistemin veya insan eyleminin tamamlanması gerektiğinde
Durum nasıl ilerler Yanıt geldikten sonra İş tamamlandıktan sonra ReportTaskSucceeded veya ReportTaskFailed çağrıldıktan sonra
Tipik senaryo Function Compute işlevini senkron olarak çağırma Uzun süren toplu iş gönderme İnsan onayını veya harici bir mikro hizmeti bekleme
**invocationType değeri** Sync Async Sync veya Async
Tüm hizmetler bu üç modu desteklemez. Hizmet bazında uyumluluk listesi için bkz. Entegrasyon modları .

RequestComplete

RequestComplete varsayılan entegrasyon modudur. Task durumu, hedef hizmete bir istek gönderir ve bir sonraki duruma geçmeden önce yanıtı bekler. Çağrı senkron olduğu için iş akışı, çağrı tamamlandığında sonucu hemen alır.

TaskMode değerini RequestComplete olarak ayarlayın (veya bu varsayılan olduğu için atlayın):

Type: StateMachine
Name: myWorkFlow
SpecVersion: v1
StartAt: InvokeFunction
States:
  - Type: Task
    Name: an example of function invocation.
    Action: FC:InvokeFunction
    TaskMode: RequestComplete
    Parameters:
      resourceArn: acs:fc:{regionId}:{accountId}:functions/dataji/LATEST
      invocationType: Sync
      body: xxxx
    End: true

WaitForSystemCallback

Hedef hizmetin tamamlanmayı kendi başına bildirdiği eşzamansız çağrılar için WaitForSystemCallback kullanın. Task durumu isteği gönderir ve ardından bekler; iş akışı iş bitene kadar ilerlemez.

TaskMode değerini WaitForSystemCallback ve invocationType değerini Async olarak ayarlayın:

Type: StateMachine
Name: myWorkFlow
SpecVersion: v1
StartAt: InvokeFunction
States:
  - Type: Task
    Name: an example of function invocation.
    Action: FC:InvokeFunction
    TaskMode: WaitForSystemCallback
    Parameters:
      resourceArn: acs:fc:{regionId}:{accountId}:functions/dataji/LATEST
      invocationType: Async
      body: xxxx
    End: true

Bu modu destekleyen hizmetlerin listesi için bkz. Normal entegrasyonu destekleyen Alibaba Cloud hizmetleri.

Görev iptal davranışı

Bir WaitForSystemCallback görevi sonlandırılırsa CloudFlow alttaki işi iptal edemeyebilir. İptal edilmeyen işler çalışmaya devam eder ve ücrete neden olabilir. Beklenmeyen maliyetlerden kaçınmak için entegrasyon görevini manuel olarak iptal edin.

CloudFlow otomatik iptali ne zaman dener

CloudFlow aşağıdaki senaryolarda en iyi çabayla iptal denemesi yapar:

  • İş akışı yürütmesi durdurulduğunda.

  • Parallel durumunda yakalanan bir hatayla başka bir dal başarısız olduğunda.

  • Map durumunda yakalanmamış bir hatayla bir yineleme başarısız olduğunda.

Örneğin, iş akışı alt akışlara veya Function Compute işlevlerine sahip eşzamansız görevler içeriyorsa iş akışını durdurmak için StopExecution API işlemini çağırın. CloudFlow önce alt akışları ve ardından iş akışındaki eşzamansız görevle ilgili işlevleri durdurur.

İptal neden başarısız olabilir

  • Yürütme rolü ilgili API işlemini çağırmak için gereken izinlere sahip değilse.

  • Hedef hizmet geçici olarak kullanılamıyorsa.

WaitForCustomCallback

WaitForCustomCallback iş akışını duraklatır ve harici bir sistemin sonucu bildirmesini bekler. Task durumu çalıştığında harici sisteme ilettiğiniz bir görev belirteci oluşturur. Harici sistem işlemeyi tamamladıktan sonra belirteç ve sonuçla ReportTaskSucceeded veya ReportTaskFailed API işlemini çağırır. İş akışı daha sonra bir sonraki duruma ilerler.

Anketlemeye kıyasla geri aramalar gecikme süresini azaltır ve sunucuda gereksiz yükü ortadan kaldırır. Mesaj kuyruklarıyla birlikte kullanılan geri aramalar CloudFlow düzenleme kapsamını yalnızca Function Compute ile sınırlı kalmayacak şekilde tüm hesaplama kaynaklarına genişletir.

How WaitForCustomCallback works

TaskMode değerini WaitForCustomCallback olarak ayarlayın:

Type: StateMachine
Name: myWorkFlow
SpecVersion: v1
StartAt: InvokeFunction
States:
  - Type: Task
    Name: an example of function invocation.
    Action: FC:InvokeFunction
    TaskMode: WaitForCustomCallback
    Parameters:
      resourceArn: acs:fc:{regionId}:{accountId}:functions/dataji/LATEST
      invocationType: Sync
      body: xxxx
    End: true

Görev belirtecine erişin

Parameters alanı içinde geçerli görevin görev belirtecine erişmek için $Context.Current.TaskToken ifadesini kullanın. $Context ön eki çalışma zamanı bağlam nesnesini gösterir.

Parameters:
  resourceArn: acs:fc:{regionId}:{accountId}:functions/dataji/LATEST
  invocationType: Async
  body:
    payload.$: $Input
    taskToken.$: $Context.Current.TaskToken

Örnek: Harici bir mikro hizmetle kredi kontrolü

Bu örnek CloudFlow'un kredi kontrolü gerçekleştirmek üzere harici bir mikro hizmetle nasıl entegre olduğunu gösterir. İş akışı:

  1. WaitForCustomCallback kullanarak bir Function Compute işlevini çağırır. İşlev Simple Message Queue'a (eski adıyla MNS) görev belirtecini de içeren bir mesaj gönderir.

  2. Harici mikro hizmet kuyruktan mesajı çeker ve kredi kontrolünü çalıştırır.

  3. Mikro hizmet belirteç ve kredi kontrolü sonucuyla ReportTaskSucceeded veya ReportTaskFailed öğesini çağırır.

  4. CloudFlow iş akışını sürdürür ve bir sonraki duruma ilerler.

Credit check workflow

Type: StateMachine
Name: myWorkFlow
SpecVersion: v1
StartAt: InvokeFunction
States:
  - Type: Task
    Name: an example of function invocation.
    Action: FC:InvokeFunction
    TaskMode: WaitForCustomCallback
    Parameters:
      resourceArn: acs:fc:{regionId}:{accountId}:functions/dataji/LATEST
      invocationType: Async
      body:
        payload.$: $Input
        taskToken.$: $Context.Current.TaskToken
    End: true

Örnek: Kendi yönettiğiniz bir hizmetle entegrasyon

CloudFlow'u kendi yönettiğiniz bir hizmetle entegre etmek için Simple Message Queue'u (eski adıyla MNS) ve API geri aramalarını kullanın. Bu desende Simple Message Queue CloudFlow ile harici hizmet arasında aracı görevi görür. Harici hizmet görevler için kuyruğu yoklar, bunları işler ve sonuçla CloudFlow'a geri arama yapar.

Bu desen Simple Message Queue ile sınırlı değildir; herhangi bir ara mesajlaşma veya depolama hizmeti iletişim kanalı olarak çalışabilir.

Self-managed service integration

Sonraki adımlar