Tüm Ürünler
Search
Belge Merkezi

DataWorks:HTTP tetikleyici düğümü

Son Güncelleme:Oct 05, 2026

DataWorks, yerel sistemler veya kiracılar arası ortamlar gibi harici bir ortamdan OpenAPI işlemi çağırarak bir iş akışındaki düğümü ve onun alt akışındaki düğümleri tetiklemenizi sağlayan bir HTTP tetikleyici düğümü sunar. Bu sayede görevleri yerel sisteminizden tetikleyebilir veya kiracılar arası görev bağımlılıklarını yönetebilirsiniz.

Ürüne genel bakış

HTTP tetikleyici düğümü, DataWorks OpenAPI işlemi TriggerSchedulerTaskInstance kullanılarak bu düğümün ve alt akışındaki düğümlerin zamanlamasını tetiklemenize olanak tanıyan özel bir sanal düğümdür.

Tetikleme mekanizması

image

Bir HTTP tetikleyici düğümü, yalnızca üst akıştaki düğümler başarılı olduktan ve harici bir sistem bir zamanlama komutu gönderdikten sonra alt akıştaki düğümleri tetikler. HTTP tetikleyici düğümünün kullanımını gösteren bir diyagram için bkz. Kullanım diyagramı.

Kullanım diyagramı

HTTP tetikleyici düğümü genellikle harici ortamlar ile DataWorks zamanlama sistemi arasındaki iletişim için kullanılır.

image

Diyagram açıklaması:

  1. Data Studio'da bir HTTP tetikleyici düğümü içeren bir iş akışı oluşturun, her düğüm için bağımlılıkları yapılandırın ve iş akışını Operation Center'a dağıtın.

  2. Sistem, zamanlama saatine göre otomatik olarak zamanlanmış örnekler oluşturur. Bu örneklerden HTTP tetikleyici düğümünün görev kimliği ve tetikleme zamanı gibi bilgilerini edinebilirsiniz.

  3. Bu bilgileri Java veya Python kodunda ya da API hata ayıklama sayfasında kullanarak OpenAPI işlemini çağırın ve düğümü tetikleyin. Belirli bir örneği ve sonraki iş akışını tetiklemek için TriggerTime parametresini sabit bir değere ayarlayabilirsiniz. Tüm örnekleri dinamik olarak tetiklemek için TriggerTime değerini dinamik bir değişkene ayarlayın. HTTP tetikleyici düğümü tetikleme komutunu alıp doğruladıktan sonra alt akıştaki düğümleri sırayla yürütür.

Tetikleme koşulları

Bir HTTP tetikleyici düğümü yalnızca aşağıdaki koşullar karşılandığında tetiklenebilir:

  • HTTP tetikleyici düğümünün zamanlanmış bir örneği mevcut olmalıdır. Bu örneği Operation Center'daki Cycle Examples sayfasında bulabilirsiniz. Örnek, TriggerSchedulerTaskInstance API'si tarafından başarıyla tetiklenmeden önce Waiting for Trigger durumunda kalır. Alt akıştaki düğümler, HTTP tetikleyici düğümünü tetiklemek için TriggerSchedulerTaskInstance API'si başarıyla çağrılana kadar engellenmiş durumda kalır; bu noktadan sonra alt akıştaki düğümler sırayla çalışır.

  • HTTP tetikleyici düğümünün bağımlı olduğu tüm üst akış düğümleri başarıyla çalışmıştır, yani bunların örnekleri başarılı durumdadır.

  • HTTP tetikleyici düğümünün zamanlanmış örneği için belirlenen zamanlanmış saat gelmiştir.

  • HTTP tetikleyici düğümü tarafından kullanılan zamanlama kaynak grubunun tetikleme anında yeterli kaynağı bulunmaktadır.

  • HTTP tetikleyici düğümü dondurulmuş durumda değildir.

  • Yalnızca Waiting for Trigger durumundaki HTTP tetikleyici düğümü örnekleri tetiklenebilir. Zaten başarıyla tetiklenmiş örnekler tekrar tetiklenemez.

Yaygın senaryolar

  • Harici dosya tabanlı zamanlama: Harici bir betik (Python gibi) kullanarak Excel veya CSV dosyaları gibi dosyalardan tarih veya koşul bilgilerini okuyun. Tetikleme koşulları karşılandığında, DataWorks OpenAPI işlemi TriggerSchedulerTaskInstance çağrılarak HTTP tetikleyici düğümü tetiklenir ve harici verilere dayalı otomatik zamanlama uygulanır.

  • Kiracılar arası görev bağımlılığı: Farklı kiracılara ait DataWorks örnekleri arasında görev bağımlılıkları olduğunda, kiracılar arasında görevleri tetiklemek için HTTP tetikleyici düğümünü kullanabilirsiniz. Daha fazla bilgi için bkz. Kiracılar arasında düğüm yürütmeyi tetiklemek için HTTP tetikleyici düğümünü kullanma.

DataWorks Professional Edition veya daha üst bir sürümü kullanıyorsanız, benzer harici koşul kontrolleri uygulamak için Check node özelliğini de kullanabilirsiniz.

Notlar

  • Bir HTTP tetikleyici düğümü, yalnızca üst akıştaki düğümler başarıyla çalıştıktan ve harici ortam bir zamanlama komutu gönderdikten sonra alt akıştaki düğümleri tetikler.

  • Harici ortam, üst akıştaki düğümler çalışmayı bitirmeden önce bir zamanlama komutu gönderirse HTTP tetikleyici düğümü alt akıştaki düğümleri tetiklemez. Sistem, harici ortamdan gelen zamanlama komutunu saklar ve üst akıştaki düğümler çalışmayı bitirdikten sonra HTTP tetikleyici düğümü aracılığıyla alt akıştaki düğümleri tetikler.

    Not

    Harici ortamdan gelen tetikleme komutu yalnızca 24 saat boyunca saklanır. Üst akıştaki düğümler 24 saat içinde çalışmayı tamamlamazsa tetikleme komutu kaybolur ve harici ortam tarafından gönderilen zamanlama komutu geçersiz hale gelir.

  • Geçerli HTTP tetikleyici düğümü örneği başarıyla tetiklendikten sonra tekrar tetiklenemez.

Önkoşullar

  • Kullanmak istediğiniz RAM kullanıcısı çalışma alanınıza eklenmiştir.

    Görevleri geliştirmek için bir RAM kullanıcısı kullanmak istiyorsanız, RAM kullanıcısını üye olarak çalışma alanınıza eklemeli ve ona Develop veya Workspace Administrator rolünü atamalısınız. Workspace Administrator rolü gerekli olandan daha fazla izne sahiptir. Bu rolü atarken dikkatli olun. Bir üyeyi nasıl ekleyeceğinize ve rol atayacağınıza ilişkin daha fazla bilgi için bkz. Çalışma alanına üye ekleme.

  • Sunucusuz bir kaynak grubu çalışma alanınızla ilişkilendirilmiştir. Daha fazla bilgi için Sunucusuz kaynak gruplarını kullanma dizinindeki konulara bakın.

  • Bir HTTP tetikleyici düğümü geliştirmeden önce ilgili HTTP tetikleyici düğümünü oluşturmanız gerekir. Daha fazla bilgi için bkz. HTTP tetikleyici düğümü oluşturma.

Sınırlamalar

  • HTTP tetikleyici düğümü özelliği yalnızca Dataworks Enterprise Edition ve daha üst sürümlerde kullanılabilir. DataWorks sürümleri hakkında daha fazla bilgi için bkz. DataWorks sürümleri.

  • HTTP tetikleyici düğümü yalnızca görevleri tetiklemek için kullanılır ve bir hesaplama görevi olarak kullanılamaz. Çalıştırmak istediğiniz görev düğümlerini, görevleri tetiklemek ve yürütmek için HTTP tetikleyici düğümünün alt akış düğümleri olarak ayarlamanız gerekir.

HTTP tetikleyici düğümü oluşturma

HTTP tetikleyici düğümü oluşturma

Bir düğümün nasıl oluşturulacağı hakkında bilgi için bkz. HTTP tetikleyici düğümü oluşturma.

HTTP tetikleyici düğümünü yapılandırma

Bir HTTP tetikleyici düğümü oluşturduktan sonra, düğüm düzenleme sayfasının sağ tarafındaki Scheduling Settings bölümünde aşağıdaki parametreleri yapılandırın. Diğer parametreler hakkında daha fazla bilgi için bkz. Zamanlama ayarları.


Parametre


Açıklama


Resource Group for Scheduling


İlişkilendirdiğiniz sunucusuz kaynak grubunu seçin.


Instance generation method

T +1 generated next day veya Instant generation after publishing seçeneklerinden birini seçebilirsiniz.

Not
  • HTTP tetikleyici düğümü sıfır yük taşıyan bir düğümdür. Herhangi bir düğüm içeriği yazmanıza gerek yoktur.

  • HTTP tetikleyici düğümünün herhangi bir üst akış düğümü yoksa, iş akışının kök düğümü varsayılan üst akış düğümü olarak kullanılır.

HTTP tetikleyici düğümünü dağıtma

  1. Zamanlama ayarlarını tamamladıktan sonra HTTP tetikleyici düğümünü gönderin ve üretim ortamına dağıtın. Daha fazla bilgi için bkz. Düğümleri dağıtma.

  2. Bir görev dağıtıldıktan sonra zamanlama ayarlarınıza göre periyodik olarak çalışır. Dağıtılan zamanlanmış görevleri Operation and Maintenance Center > Node O&M > Auto Triggered Task O&M > Auto Triggered Task yolundan görüntüleyebilir ve görevler üzerinde bakım işlemleri gerçekleştirebilirsiniz. Daha fazla bilgi için bkz. Zamanlanmış görevleri yönetme.

Harici zamanlama ortamlarında tetikleme yapılandırması

Harici bir zamanlama ortamında tetikleme ayarlarını yapılandırırken, daha önce elde ettiğiniz HTTP tetikleyici düğümü örnek parametrelerini aşağıdaki yöntemlerden biriyle yapılandırmanız ve HTTP tetikleyici düğümünü tetiklemek için TriggerSchedulerTaskInstance işlemini çağırmanız gerekir.

HTTP tetikleyici düğümü örnek parametrelerini edinme

HTTP tetikleyici düğümünü yapılandırdığınızda seçtiğiniz örnek oluşturma yöntemine bağlı olarak, Operation Center'da HTTP tetikleyici düğümü örnek parametrelerini görüntüleyin ve kaydedin.

Not
  • Ertesi gün T+1 oluşturma: HTTP örnek parametrelerini görüntülemek ve kaydetmek için ertesi gün Operation Center'a gitmeniz gerekir.

  • Dağıtımdan hemen sonra anlık oluşturma: HTTP örnek parametrelerini görüntülemek ve kaydetmek için hemen Operation Center'a gidebilirsiniz.

  1. DataWorks konsoluna giriş yapın. Hedef bölgede sol gezinme bölmesinden Data Development and O&M > Operation Center seçeneğine tıklayın. Açılan listeden bir çalışma alanı seçin ve Go to Operation Center seçeneğine tıklayın.

  2. Sol gezinme bölmesinde Auto Triggered Task O&M > Cycle Examples seçeneğine tıklayarak Cycle Examples sayfasına gidin.

  3. Listede oluşturduğunuz HTTP tetikleyici düğümü örneğini bulun ve örneğin Task ID ile Scheduled Time değerlerini kaydedin.

    Not

    Örneğin Task ID değerini görüntülemek için HTTP tetikleyici düğümü örneğinin adının üzerine gelin.

Yöntem 1: Java

  1. Java SDK'yı yükleyin. Daha fazla bilgi için bkz. Java SDK'yı yükleme.

    DataWorks SDK için aşağıdaki POM yapılandırmasını kullanın.

    <dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>dataworks_public20240518</artifactId>
      <version>6.2.0</version>
    </dependency>
  2. Kod örneği

    TriggerSchedulerTaskInstance hata ayıklama sayfasına giderek SDK Sample sekmesinde eksiksiz Java örneğini görüntüleyebilirsiniz.

    package com.example.demo;
    import com.aliyun.dataworks_public20240518.Client;
    import com.aliyun.dataworks_public20240518.models.TriggerSchedulerTaskInstanceRequest;
    import com.aliyun.dataworks_public20240518.models.TriggerSchedulerTaskInstanceResponse;
    import com.aliyun.teaopenapi.models.Config;
    import com.aliyun.teautil.models.RuntimeOptions;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    public class CrossTenantTriggerSchedulerTaskTo {
        // Method to trigger a DataWorks node run
        public static TriggerSchedulerTaskInstanceResponse runTriggerScheduler(com.aliyun.dataworks_public20240518.Client client, Long nodeId, String EnvType, Long TriggerTime) throws Exception {
            TriggerSchedulerTaskInstanceRequest request = new TriggerSchedulerTaskInstanceRequest(); // Create API request object
            request.setTaskId(nodeId); // Set the node ID to trigger
            request.setEnvType(EnvType); // Set the project environment
            request.setTriggerTime(TriggerTime); // Set the scheduled trigger time (millisecond timestamp)
            RuntimeOptions runtime = new RuntimeOptions(); // Initialize runtime options
            return client.triggerSchedulerTaskInstanceWithOptions(request, runtime); // Execute the API call and return the response
        }
        public static void main(String[] args) throws Exception {
            // Initialize node ID (example value)
            String nodeId = "xxx";
            // Initialize project environment (example value)
            String EnvTypeStr = "xxx";
            // Initialize scheduled time (example value)
            String cycTimeStr = "xxx";
            // Set the endpoint
            String endpoint = "xxx";
            // Convert string to Long type node ID
            Long nodeId1 = Long.parseLong(nodeId);
            // Print usage instructions
            System.out.println("Usage: java -jar test-1.0-SNAPSHOT.jar nodeId EnvTypeStr cycTimeParam");
            // Parse the scheduled time and convert to timestamp
            SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(sdft.parse(cycTimeStr)); // Parse the time string
            Long cycTime = calendar.getTimeInMillis(); // Get the millisecond timestamp
            // Print debug info (timestamp)
            System.out.println("Scheduled timestamp: " + cycTime);
            // Initialize OpenAPI config object
            Config config = new Config();
            config.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")); // Get AccessKey ID from environment variable
            config.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));// Get AccessKey Secret from environment variable
            config.setEndpoint(endpoint);
            // Create Alibaba Cloud client instance
            Client client = new Client(config);
            // Execute the trigger node operation
            TriggerSchedulerTaskInstanceResponse response = runTriggerScheduler(client, nodeId1,EnvTypeStr, cycTime);
            // Print the API response (JSON format)
            System.out.println(com.aliyun.teautil.Common.toJSONString(com.aliyun.teautil.Common.toMap(response)));
        }
    }

    Yukarıdaki koddaki ilgili parametreleri, aşağıdaki parametre açıklamalarına dayanarak iş ihtiyaçlarınıza göre gerçek değerlerle değiştirin.

    Parametre

    Açıklama

    nodeId

    HTTP tetikleyici düğümü örnek parametrelerini edinme adımında elde edilen HTTP tetikleyici düğümünün Görev Kimliği.

    EnvTypeStr

    HTTP tetikleyici düğümünün bulunduğu proje ortamı.

    Üretim ortamı için Prod kullanın.

    Geliştirme ortamı için Dev kullanın.

    cycTimeStr

    HTTP tetikleyici düğümü örnek parametrelerini edinme adımında elde edilen HTTP tetikleyici düğümü görevinin Zamanlanmış Saati. Zaman biçimi yyyy-MM-dd HH:mm:ss şeklindedir.

    endpoint

    Hedef HTTP tetikleyici düğümünün bulunduğu çalışma alanının uç noktası. Daha fazla bilgi için bkz. Alibaba Cloud OpenAPI Geliştirici Portalı uç noktaları.

    ALIBABA_CLOUD_ACCESS_KEY_ID

    Hedef HTTP tetikleyici düğümünün ait olduğu Alibaba Cloud hesabının AccessKey ID değeri.

    1. AccessKey bilgilerini edinin.

      DataWorks konsoluna giriş yapın, üst gezinme çubuğunun sağ üst köşesindeki profil simgesinin üzerine gelin ve Accesskey Management sayfasına giderek AccessKey ID ve AccessKey Secret değerlerini edinin.

    2. Ortam değişkenlerini yapılandırın. Edindiğiniz AccessKey ID ve AccessKey Secret değerlerini mevcut ortamınız için ortam değişkeni olarak yapılandırın. Kodunuzda ortam değişkenlerini okuyarak AccessKey bilgilerini dinamik olarak edinebilir ve düz metin olarak saklamaktan kaynaklanan güvenlik risklerini önleyebilirsiniz. Daha fazla bilgi için bkz. Ortam değişkenlerini yapılandırma.

    ALIBABA_CLOUD_ACCESS_KEY_SECRET

    Hedef HTTP tetikleyici düğümünün ait olduğu Alibaba Cloud hesabının AccessKey Secret değeri.

Yöntem 2: Python

  1. Python SDK'yı yükleyin. Daha fazla bilgi için bkz. Python SDK'yı yükleme.

    DataWorks SDK'yı yüklemek için aşağıdaki komutu çalıştırın.

    pip install alibabacloud_dataworks_public20240518==6.2.0
  2. Kod örneği.

    TriggerSchedulerTaskInstance hata ayıklama sayfasına giderek SDK Sample sekmesinde eksiksiz Python örneğini görüntüleyebilirsiniz.

    Hata ayıklama sayfasının sol tarafında TaskId (integer), EnvType (string) ve TriggerTime (integer) istek parametrelerini yapılandırın. Sağ tarafta dil olarak Python seçerek eksiksiz SDK örnek kodunu görüntüleyin. Çevrimiçi hata ayıklamak için Run Sample seçeneğine tıklayın.

Yöntem 3: API hata ayıklama aracı

TriggerSchedulerTaskInstance hata ayıklama sayfasına gidin, ilgili bölümlerde aşağıdaki parametreleri yapılandırın ve çağrıyı başlatmak için Submit seçeneğine tıklayın.

Parametre

Açıklama

TaskId

HTTP tetikleyici düğümü örnek parametrelerini edinme adımında elde edilen HTTP tetikleyici düğümünün Görev Kimliği.

EnvType

HTTP tetikleyici düğümünün bulunduğu proje ortamı.

Üretim ortamı için Prod kullanın.

Geliştirme ortamı için Dev kullanın.

TriggerTime

HTTP tetikleyici düğümü örnek parametrelerini edinme adımında elde edilen HTTP tetikleyici düğümü görevinin Zamanlanmış Saati. Zaman, milisaniye cinsinden zaman damgasına dönüştürülmelidir.

Referans

DataWorks, kiracılar arası senaryolarda görevleri tetiklemek ve yürütmek için HTTP tetikleyici düğümü özelliğini sağlar. Daha fazla bilgi için bkz. Kiracılar arasında düğüm yürütmeyi tetiklemek için HTTP tetikleyici düğümünü kullanma.