Tüm Ürünler
Search
Belge Merkezi

Function Compute:DTS tetikleyicileri

Son Güncelleme:Oct 08, 2026

Data Transmission Service (DTS), bir olay kaynağı olarak davranır ve EventBridge aracılığıyla Function Compute ile entegre olur. Entegrasyondan sonra, ilişkili işlevleri çağırmak için DTS tetikleyicilerini kullanabilirsiniz. Bu sayede, DTS değişiklik izleme görevlerinden aldığınız gerçek zamanlı artımlı veriler üzerinde özel işlemler yapabilirsiniz. Bu konuda, Function Compute konsolunda bir DTS tetikleyicisi oluşturma, işlev giriş parametrelerini yapılandırma ve kod yazıp test etme adımları açıklanmaktadır.

Genel Bakış

Function Compute konsolunda bir tetikleyici oluşturma isteği gönderdiğinizde, Function Compute tetikleyici yapılandırmasına dayanarak EventBridge'de olay akışı kaynaklarını otomatik olarak oluşturur.

Kaynaklar oluşturulduktan sonra, tetikleyici bilgilerini Function Compute konsolunda görüntüleyebilirsiniz. Ayrıca, otomatik olarak oluşturulan kaynaklarla ilgili bilgilere EventBridge konsolundan erişebilirsiniz. Bir DTS değişiklik izleme görevi bir veritabanından artımlı verileri yakaladığında, ilişkili işlev çağrılır. Toplu iş yapılandırmalarınıza bağlı olarak, işleme alınmak üzere işleve bir veya daha fazla mesaj olayı toplu halde gönderilir.

Dikkat Edilmesi Gerekenler

  • Tetikleyici kaynağı olarak kullanılan DTS değişiklik izleme görevi, Function Compute işleviyle aynı bölgede bulunmalıdır.

  • Oluşturulan olay akışı sayısı sınıra ulaşırsa, yeni DTS tetikleyicileri oluşturamazsınız. Olay akışı sınırı hakkında daha fazla bilgi için bkz. Sınırlar.

Ön Koşullar

1. Adım: Bir DTS tetikleyicisi oluşturun

  1. Function Compute konsoluna giriş yapın. Sol gezinme bölmesinde Function Management > Functions seçeneğini belirleyin.

  2. Üst gezinme çubuğunda bir bölge seçin. Functions sayfasında hedef işlevi tıklayın.

  3. İşlev ayrıntıları sayfasında Trigger sekmesini tıklayın ve ardından Create Trigger öğesini tıklayın.

  4. Tetikleyici Oluştur panelinde parametreleri yapılandırın ve OK öğesini tıklayın.

    Aşağıdaki tabloda temel parametreler açıklanmaktadır.

    Yapılandırma Öğesi

    Açıklama

    Örnek

    Trigger Type

    Tetikleyici türü. Desteklenen tetikleyici türleri hakkında daha fazla bilgi için bkz. Tetikleyiciye genel bakış.

    DTS

    Name

    Tetikleyici için özel bir ad.

    dts-trigger

    Version or Alias

    Varsayılan değer LATEST'tir. Başka bir sürüm veya takma ad için tetikleyici oluşturmak istiyorsanız, işlev ayrıntıları sayfasının sağ üst köşesinde ilgili sürüme veya takma ada geçiş yapın. Sürümler ve takma adlar hakkında daha fazla bilgi için bkz. Sürüm yönetimi ve Takma ad yönetimi.

    LATEST

    Değişiklik İzleme Görevi

    Mevcut değişiklik izleme görevinin adı.

    dtsqntc2***

    Tüketici Grubu

    İzleme görevinden veri tüketmek için kullanılan tüketici grubunun adı.

    Önemli

    Tüketici grubunun diğer istemcilerin örneklerinde çalışmadığından emin olun. Aksi takdirde, belirtilen tüketici ofseti geçersiz hale gelebilir.

    test

    Hesap

    Tüketici grubunu oluştururken belirttiğiniz hesap.

    test

    Password

    Tüketici grubunu oluştururken belirttiğiniz parola.

    Consumer Offset

    İlk veri kaydını tüketmek istediğiniz zaman damgası. Tüketici ofseti, izleme görevinin zaman damgası aralığında olmalıdır.

    Not

    Tüketici ofseti yalnızca yeni bir tüketici grubu ilk kez çalıştığında etkili olur. Görev daha sonra yeniden başlatılırsa, tüketim son tüketici ofsetinden devam eder.

    2022-06-21 00:00:00

    Invocation Method

    Bir işlev çağrı yöntemi seçin.

    Değerler aşağıda açıklanmıştır.

    • Sync Invocation: Bu yöntem, ardışık çağrı senaryoları için uygundur. Tek bir olay veya bir olay grubu bir işlev çağrısını tetikler. Sistem, bir sonraki olay veya olay grubunun başka bir işlev çağrısını tetiklemeden önce işlevin yürütülüp sonuç döndürmesini bekler. Senkron bir çağrı isteğinin maksimum yükü 32 MB'tır. Daha fazla bilgi için bkz. Senkron çağrılar.

    • Async Invocation: Bu yöntem, olayları hızlı bir şekilde tüketmenizi sağlar. Tek bir olay veya bir olay grubu bir işlev çağrısını tetikler. Function Compute hemen bir yanıt döndürür ve bir sonraki olay veya olay grubu başka bir işlev çağrısını tetikler. Bu süreçte işlev eşzamansız olarak yürütülür. Eşzamansız bir çağrı isteğinin maksimum yükü 128 KB'tır. Daha fazla bilgi için bkz. Genel bakış.

    Senkron Çağrı

    Trigger State

    Tetikleyici oluşturulduktan hemen sonra etkinleştirilip etkinleştirilmeyeceğini belirtir. Varsayılan olarak Enable Trigger seçilidir. Bu, tetikleyicinin oluşturulduktan hemen sonra etkinleştirildiği anlamına gelir.

    Etkin

    Gönderim yapılandırmaları, yeniden denemeler ve ölü mektup kuyrukları gibi gelişmiş yapılandırmalar hakkında daha fazla bilgi için bkz. Gelişmiş özellikler.

    Tetikleyici oluşturulduktan sonra Trigger Name listesinde görünür. Tetikleyiciyi değiştirmek veya silmek için bkz. Tetikleyicileri yönetin.

2. Adım: İşlev giriş parametrelerini yapılandırın

DTS olay kaynağı, işleve giriş parametresi olarak bir event iletir. Bir tetikleme olayını simüle etmek için event parametresini işleve manuel olarak iletebilirsiniz.

  1. İşlev ayrıntıları sayfasının Code sekmesinde, Test Function öğesinin yanındaki image.png simgesini tıklayın ve açılan listeden Configure Test Parameters seçeneğini belirleyin.

  2. Configure Test Parameters panelinde Create New Test Event veya Modify Existing Test Event seçeneğini belirleyin. Ardından, olay adını ve içeriğini girin ve Tamam'ı tıklayın.

    Aşağıda event formatı gösterilmektedir:

    [
      {
        "data": {
          "id": 321****,
          "topicPartition": {
            "hash": 0,
            "partition": 0,
            "topic": "cn_hangzhou_rm_1234****_test_version2"
          },
          "offset": 3218099,
          "sourceTimestamp": 1654847757,
          "operationType": "UPDATE",
          "schema": {
            "recordFields": [
              {
                "fieldName": "id",
                "rawDataTypeNum": 8,
                "isPrimaryKey": true,
                "isUniqueKey": false,
                "fieldPosition": 0
              },
              {
                "fieldName": "topic",
                "rawDataTypeNum": 253,
                "isPrimaryKey": false,
                "isUniqueKey": false,
                "fieldPosition": 1
              }
            ],
            "nameIndex": {
              "id": {
                "fieldName": "id",
                "rawDataTypeNum": 8,
                "isPrimaryKey": true,
                "isUniqueKey": false,
                "fieldPosition": 0
              },
              "topic": {
                "fieldName": "topic",
                "rawDataTypeNum": 253,
                "isPrimaryKey": false,
                "isUniqueKey": false,
                "fieldPosition": 1
              }
            },
            "schemaId": "(hangzhou-test-db,hangzhou-test-db,message_info)",
            "databaseName": "hangzhou--test-db",
            "tableName": "message_info",
            "primaryIndexInfo": {
              "indexType": "PrimaryKey",
              "indexFields": [
                {
                  "fieldName": "id",
                  "rawDataTypeNum": 8,
                  "isPrimaryKey": true,
                  "isUniqueKey": false,
                  "fieldPosition": 0
                }
              ],
              "cardinality": 0,
              "nullable": true,
              "isFirstUniqueIndex": false
            },
            "uniqueIndexInfo": [],
            "foreignIndexInfo": [],
            "normalIndexInfo": [],
            "databaseInfo": {
              "databaseType": "MySQL",
              "version": "5.7.35-log"
            },
            "totalRows": 0
          },
          "beforeImage": {
            "recordSchema": {
              "recordFields": [
                {
                  "fieldName": "id",
                  "rawDataTypeNum": 8,
                  "isPrimaryKey": true,
                  "isUniqueKey": false,
                  "fieldPosition": 0
                },
                {
                  "fieldName": "topic",
                  "rawDataTypeNum": 253,
                  "isPrimaryKey": false,
                  "isUniqueKey": false,
                  "fieldPosition": 1
                }
              ],
              "nameIndex": {
                "id": {
                  "fieldName": "id",
                  "rawDataTypeNum": 8,
                  "isPrimaryKey": true,
                  "isUniqueKey": false,
                  "fieldPosition": 0
                },
                "topic": {
                  "fieldName": "topic",
                  "rawDataTypeNum": 253,
                  "isPrimaryKey": false,
                  "isUniqueKey": false,
                  "fieldPosition": 1
                }
              },
              "schemaId": "(hangzhou-test-db,hangzhou-test-db,message_info)",
              "databaseName": "hangzhou-test-db",
              "tableName": "message_info",
              "primaryIndexInfo": {
                "indexType": "PrimaryKey",
                "indexFields": [
                  {
                    "fieldName": "id",
                    "rawDataTypeNum": 8,
                    "isPrimaryKey": true,
                    "isUniqueKey": false,
                    "fieldPosition": 0
                  }
                    ],
                    "cardinality": 0,
                    "nullable": true,
                    "isFirstUniqueIndex": false
                  },
                    "uniqueIndexInfo": [],
                    "foreignIndexInfo": [],
                    "normalIndexInfo": [],
                    "databaseInfo": {
                    "databaseType": "MySQL",
                    "version": "5.7.35-log"
                  },
                    "totalRows": 0
                  },
                    "values": [
                    {
                    "data": 115
                  },
                    {
                    "data": {
                    "hb": [
                    104,
                    101,
                    108,
                    108,
                    111
                    ],
                    "offset": 0,
                    "isReadOnly": false,
                    "bigEndian": true,
                    "nativeByteOrder": false,
                    "mark": -1,
                    "position": 0,
                    "limit": 9,
                    "capacity": 9,
                    "address": 0
                  },
                    "charset": "utf8mb4"
                  }
                    ],
                    "size": 45
                  },
                    "afterImage": {
                    "recordSchema": {
                    "recordFields": [
                    {
                    "fieldName": "id",
                    "rawDataTypeNum": 8,
                    "isPrimaryKey": true,
                    "isUniqueKey": false,
                    "fieldPosition": 0
                  },
                    {
                    "fieldName": "topic",
                    "rawDataTypeNum": 253,
                    "isPrimaryKey": false,
                    "isUniqueKey": false,
                    "fieldPosition": 1
                  }
                    ],
                    "nameIndex": {
                    "id": {
                    "fieldName": "id",
                    "rawDataTypeNum": 8,
                    "isPrimaryKey": true,
                    "isUniqueKey": false,
                    "fieldPosition": 0
                  },
                    "topic": {
                    "fieldName": "topic",
                    "rawDataTypeNum": 253,
                    "isPrimaryKey": false,
                    "isUniqueKey": false,
                    "fieldPosition": 1
                  }
                  },
                    "schemaId": "(hangzhou-test-db,hangzhou-test-db,message_info)",
                    "databaseName": "hangzhou-test-db",
                    "tableName": "message_info",
                    "primaryIndexInfo": {
                    "indexType": "PrimaryKey",
                    "indexFields": [
                    {
                    "fieldName": "id",
                    "rawDataTypeNum": 8,
                    "isPrimaryKey": true,
                    "isUniqueKey": false,
                    "fieldPosition": 0
                  }
                    ],
                    "cardinality": 0,
                    "nullable": true,
                    "isFirstUniqueIndex": false
                  },
                    "uniqueIndexInfo": [],
                    "foreignIndexInfo": [],
                    "normalIndexInfo": [],
                    "databaseInfo": {
                    "databaseType": "MySQL",
                    "version": "5.7.35-log"
                  },
                    "totalRows": 0
                  },
                    "values": [
                    {
                    "data": 115
                  },
                    {
                    "data": {
                    "hb": [
                    98,
                    121,
                    101
                    ],
                    "offset": 0,
                    "isReadOnly": false,
                    "bigEndian": true,
                    "nativeByteOrder": false,
                    "mark": -1,
                    "position": 0,
                    "limit": 11,
                    "capacity": 11,
                    "address": 0
                  },
                    "charset": "utf8mb4"
                  }
                    ],
                    "size": 47
                  }
                  },
        "id": "12f701a43741d404fa9a7be89d9acae0-321****",
        "source": "DTSstreamDemo",
        "specversion": "1.0",
        "type": "dts:ConsumeMessage",
        "datacontenttype": "application/json; charset=utf-8",
        "time": "2022-06-10T07:55:57Z",
        "subject": "acs:dts:cn-hangzhou:12345****:kk123abc60g782/dtsabcdet1ro"
      }
    ]

    CloudEvents parametreleri hakkında daha fazla bilgi için bkz. Olaylara genel bakış.

    data alanı aşağıdaki parametreleri içerir.


    Parametre


    Tür


    Açıklama


    id


    Dize


    DTS veri kaydının kimliği.


    topicPartition


    Dizi


    Konunun bölüm bilgileri.


    hash


    Dize


    DTS'nin temel depolama parametresi.


    partition


    Dize


    Konunun bölümü.


    topic


    Dize


    Konunun adı.


    offset


    Tamsayı


    DTS veri kaydı için mesaj depolama ofseti.


    sourceTimestamp


    Tamsayı


    DTS verilerinin oluşturulduğu zaman damgası.


    operationType


    Dize


    DTS verilerinin işlem türü.


    schema


    Dizi


    Veritabanı tablo şeması.


    recordFields


    Dizi


    Alanların ayrıntıları.


    fieldName


    Dize


    Alanın adı.


    rawDataTypeNum


    Tamsayı

    Alan türünün eşlenmiş değeri.

    Bu değer, değişiklik izleme kanalından alınan seri durumdan çıkarılmış artımlı verilerdeki dataTypeNumber alanına karşılık gelir. Daha fazla bilgi için bkz. Kafka istemcisi kullanarak izlenen verileri tüketin.


    isPrimaryKey


    Boolean


    Alanın birincil anahtar olup olmadığını belirtir.


    isUniqueKey


    Boolean


    Alanın benzersiz anahtar olup olmadığını belirtir.


    fieldPosition


    Dize


    Alanın konumu.


    nameIndex


    Dizi


    Adlandırılmış dizin.


    schemaId


    Dize


    Veritabanı tablo şemasının kimliği.


    databaseName


    Dize


    Veritabanının adı.


    tableName


    Dize


    Tablonun adı.


    primaryIndexInfo


    Dize


    Birincil anahtar dizini.


    indexType


    Dize


    Birincil anahtar dizininin türü.


    indexFields


    Dizi


    Birincil anahtar dizinindeki alanlar.


    cardinality


    Dize


    Birincil anahtarın kardinalitesi.


    nullable


    Boolean


    Birincil anahtarın null olabileceğini belirtir.


    isFirstUniqueIndex


    Boolean


    İlk benzersiz dizin olup olmadığını belirtir.


    uniqueIndexInfo


    Dize


    Benzerksiz dizin.


    foreignIndexInfo


    Dize


    Yabancı anahtar dizini.


    normalIndexInfo


    Dize


    Normal dizin.


    databaseInfo


    Dizi


    Veritabanı hakkında bilgiler.


    databaseType


    Dize


    Veritabanının türü.


    version


    Dize


    Veritabanının sürümü.


    totalRows


    Tamsayı


    Tablodaki toplam satır sayısı.


    beforeImage


    Dize


    İşlemden önceki kayıt alanlarının durumu.


    values


    Dize


    Kayıt alanlarının değerleri.


    size


    Tamsayı


    Kayıt alanlarının boyutu.


    afterImage


    Dize


    İşlemden sonraki kayıt alanlarının durumu.

3. Adım: İşlev kodunu yazın ve test edin

Tetikleyiciyi oluşturduktan sonra, doğruluğunu kontrol etmek için işlev kodunu yazabilir ve test edebilirsiniz. Uygulamada, DTS değişiklik izleme görevi veritabanından artımlı verileri yakaladığında tetikleyici işlevi otomatik olarak çağırır.

  1. İşlev ayrıntıları sayfasının Code sekmesinde kod düzenleyicide kod yazabilir ve Deploy öğesini tıklayabilirsiniz.

    Bu konuda örnek olarak Node.js kodu kullanılmaktadır.

    'use strict';
    /*
    To enable the initializer feature,
    implement the initializer function as follows:
    exports.initializer = (context, callback) => {
      console.log('initializing');
      callback(null, '');
    };
    */
    exports.handler = (event, context, callback) => {
      console.log("event: %s", event);
      // Parse the event parameter and process the event.
      callback(null, 'return result');
    }
  2. Test Function öğesini tıklayın.

Daha fazla bilgi

Function Compute konsoluna ek olarak, tetikleyicileri aşağıdaki yollarla da yapılandırabilirsiniz:

  • Tetikleyicileri yapılandırmak için Serverless Devs aracını kullanın. Daha fazla bilgi için bkz. Serverless Devs'in yaygın komutları.

  • Tetikleyicileri yapılandırmak için SDK'ları kullanın. Daha fazla bilgi için bkz. SDK'ler.

Bir tetikleyiciyi değiştirmek veya silmek için bkz. Tetikleyicileri yönetin.