Tüm Ürünler
Search
Belge Merkezi

DataWorks:Function Compute ile PDF'lere filigran ekleme

Son Güncelleme:Oct 05, 2026

Bu konu, DataWorks'teki bir Function Compute düğümü kullanarak Function Compute'u çağırmanın ve OSS'teki artımlı PDF dosyalarına periyodik olarak filigran eklemenin nasıl yapılacağını açıklar.

Arka Plan

DataWorks, Function Compute'u çağırmak için bir Function Compute düğümü kullanır. Bu sayede özel mantığı DataWorks iş akışının bir parçası olarak çalıştırabilirsiniz.

Önkoşullar

  • Function Compute etkinleştirilmiştir. Daha fazla bilgi için bkz. Hızlıca işlev oluşturma.

  • OSS etkinleştirilmiştir. Daha fazla bilgi için bkz. OSS'i Etkinleştirme. Bir paket oluşturun ve filigran eklemek istediğiniz PDF dosyalarını yükleyin. Bu örnek için, bucket-test222 paketinde 2023-08-15 adında bir dizin oluşturun ve bu dizine example.pdf dosyasını yükleyin.

Sınırlamalar

  • Özellik sınırlamaları

    DataWorks yalnızca olay işlevlerini çağırabilir, HTTP işlevlerini çağıramaz. Bu nedenle, periyodik olarak zamanlamak istediğiniz görevler için bir olay işlevi kullanmanız gerekir. İşlev türleri hakkında daha fazla bilgi için bkz. İşlev türleri.

  • Bölge sınırlamaları

    Function Compute özelliği yalnızca aşağıdaki bölgelerde bulunan çalışma alanlarında kullanılabilir: Çin (Hangzhou), Çin (Şanghay), Çin (Pekin), Çin (Shenzhen), Çin (Chengdu), Çin (Hong Kong), Singapur, Malezya (Kuala Lumpur), Endonezya (Cakarta), Almanya (Frankfurt), Birleşik Krallık (Londra), ABD (Silikon Vadisi) ve ABD (Virginia).

Adım 1: Function Compute uygulaması oluşturma

  1. Function Compute konsolunda oturum açın. Soldaki gezinme bölmesinde Application öğesine tıklayın.

  2. Applications sayfasında Create Application seçeneğine tıklayın ve Use a Template to Create an Application seçeneğini belirleyin. Arama kutusuna "add watermark to PDF files" yazarak arayın. Şablon listesinde pdf-watermark şablonunu bulun, kartının üzerine gelin ve ardından Create Now seçeneğine tıklayın.

    Not

    pdf-watermark uygulamasının kaynak kodu GitHub üzerinde mevcuttur. Bu uygulama, OSS'teki bir PDF dosyasına belirtilen filigranı ekler ve filigranlı dosyayı aynı OSS konumundaki yeni bir dosyaya kaydeder.

  3. Create Application parametrelerini yapılandırın.

    Parametre

    Açıklama

    Dağıtım türü

    Directly Deploy seçeneğini belirleyin.

    Application Name

    Uygun bir ad otomatik olarak oluşturulur. İş gereksinimlerinize göre bu adı değiştirebilirsiniz.

    Role name

    Varsayılan olarak AliyunFCServerlessDevsRole seçilir. Bu rolün ilkelerini ihtiyacınıza göre yapılandırabilirsiniz.

    • Bir uygulamayı Serverless App Center aracılığıyla dağıttığınızda diğer cloud hizmetlerine erişmeniz gerekebilir. Örneğin, Function Compute hizmetlerini ve işlev kaynaklarını dağıtmanız veya VPC, NAS ve SLS kaynakları oluşturmanız ya da güncellemeniz gerekebilir. Bu durumlarda, Function Compute'a gerekli erişim izinlerini vermeniz gerekir. İlk olarak bir RAM hizmet rolünü uygulama veya ortamla ilişkilendirin ve ardından güvenilir hizmeti Function Compute olarak ayarlayın. Serverless App Center, cloud hizmetlerinize erişmek için AssumeRole kullanır.

    • Yetkilendirmeyi basitleştirmek için Serverless App Center, AliyunFCServerlessDevsRole adlı varsayılan bir sistem rolü sağlar. Bu rol, Serverless App Center'ın bazı cloud kaynaklarına erişmesi için gereken izinleri içerir. AliyunFCServerlessDevsRole rolünün izinlerini görüntülemek için RAM rol yönetimi konsolunda oturum açabilirsiniz.

    Region

    Uygulamanın oluşturulduğu bölge. Bir OSS bucket name seçtiğinizde yalnızca bu bölgedeki bir OSS paketini seçebilirsiniz.

    Function Name

    Uygun bir ad otomatik olarak oluşturulur. İş gereksinimlerinize göre bu adı değiştirebilirsiniz.

    Time Zone

    Geçerli bölgenin saat dilimi otomatik olarak seçilir. İş gereksinimlerinize göre bunu değiştirebilirsiniz.

    OSS bucket name

    Yalnızca uygulama ile aynı bölgede bulunan bir paketi seçebilirsiniz.

    RAM role ARN

    Varsayılan olarak AliyunFcDefaultRole seçilir. İhtiyacınıza göre bunu değiştirebilirsiniz.

    Yetkilendirmeyi basitleştirmek için Function Compute, AliyunFcDefaultRole adlı varsayılan bir hizmet rolü sağlar. Bu rol, Function Compute'un bazı cloud kaynaklarına erişmesi için gereken izinleri içerir. Varsayılan AliyunFcDefaultRole rolünün nasıl oluşturulacağı ve bağlanacağı hakkında bilgi için bkz. Adım 1: Function Compute'u Etkinleştirme.

    Not

    Oluşturma sırasında seçilen uygulamanın ek izinler gerektirdiği bildirilirse Authorized to go seçeneğine tıklayın.

  4. Create and Deploy Default Environment seçeneğine tıklayın. Ayrıntılar sayfasında Deployed görüntülendiğinde dağıtım tamamlanmış olur.

  5. Applications sayfasında uygulamaya gitmek için uygulama adına tıklayın.

  6. Default Environment bölümünde Environment Details sekmesine tıklayın ve ardından Function adına tıklayarak Function ayrıntıları sayfasına gidin.

    İşlev adı, sayfanın alt kısmındaki Resource Information alanının Function Resources bölümünde yer alır; örneğin pdf_add_watermark_t36b.

  7. Test seçeneğine tıklayın, parametreleri girin ve işlevi test edin.

    • Event name: Bir olay adı girin.

    • Event content: İçeriği JSON formatında girin. Bu konuda aşağıdaki örnek kullanılmaktadır:

      Önemli

      Aşağıdaki JSON örneğini kopyalarsanız // ile başlayan yorum satırlarını kaldırmanız gerekir. Aksi takdirde içerik JSON doğrulamasından başarısız olur.

      // The following configuration adds the watermark text "DataWorks" to the PDF file 2023-08-15/example.pdf by using the 20-point Helvetica font. For the meaning of each parameter, see the comments that follow.
      {
          "pdf_file": "2023-08-15/example.pdf",  // The path of the PDF file in the OSS bucket.
          "mark_text": "DataWorks",    // The watermark text. This parameter is required if you want to add a watermark to a PDF file.
          "pagesize": [595.275590551181, 841.8897637795275], // Optional. The default page size is A4 (21 cm × 29.7 cm), where 1 cm is equal to 28.346456692913385.
          "font": "Helvetica",     // Optional. The default font is Helvetica. For Chinese text, you can use zenhei or microhei.
          "font_size": 20,         // Optional. The default font size is 30.
          "font_color": [0, 0, 0], // The font color in RGB format. The default color is black.
          "rotate": 30,            // Optional. The default rotation angle is 0.
          "opacity": 0.1,          // Optional. The default opacity is 0.1. A value of 1 indicates that the text is opaque.
          "density": [198.4251968503937, 283.46456692913387] // The watermark density. The default value is [141.73228346456693, 141.73228346456693], which corresponds to (7 cm, 10 cm). This means the interval between watermarks is 7 cm on the x-axis and 10 cm on the y-axis.
      }
  • Test Function seçeneğine tıklayın. Çalıştırma başarılı olduktan sonra filigranlı PDF dosyasını kaynak dosya ile aynı OSS dizininde görüntüleyebilirsiniz. Bu örnekte çıktı dosyası example-out.pdf şeklindedir.

    Dosyaları OSS'te görüntüleme:

    OSS paket dosya listesi, kaynak dosya example.pdf ve oluşturulan filigranlı dosya example_out.pdf içerir.

Adım 2: Function Compute düğümü yapılandırma

  1. DataWorks konsolunda oturum açın.

  2. Üst gezinme çubuğunda, Adım 1: Function Compute uygulaması oluşturma bölümünde belirttiğiniz bölgeye geçiş yapın.

  3. Soldaki gezinme bölmesinde Data Development and O&M > Data Studio seçeneklerini belirleyin. Veri Geliştirme sayfasına gitmek için çalışma alanınızı seçin.

  4. Hedef Workflow adına tıklayın. Genişletilen General düğümünde sağ tıklayın ve Function Compute seçeneğini belirleyin. Görüntülenen iletişim kutusunda bir düğüm adı girin ve Determine seçeneğine tıklayarak Function Compute düğümünü oluşturun.

  5. Function Compute düğümü parametrelerini yapılandırın.

    Parametre

    Açıklama

    Select Function

    Adım 1 bölümünde oluşturduğunuz işlevi seçin. Yeni bir işlev oluşturmak için bkz. İşlevleri yönetme.

    Not

    DataWorks yalnızca olay işlevlerini çağırabilir, HTTP işlevlerini çağıramaz. Bu nedenle, periyodik olarak zamanlamak istediğiniz görevler için bir olay işlevi kullanmanız gerekir. İşlev türleri hakkında daha fazla bilgi için bkz. İşlev türleri.

    Select Version or Alias

    İşlevi çağırırken kullanılacak hizmet sürümünü veya takma adı seçin. Varsayılan sürüm LATEST'tir. Bu örnekte Default Version seçeneğini belirleyin.

    • Hizmet sürümü

      Function Compute, hizmetinizin bir veya daha fazla sürümünü yayınlamanıza olanak tanıyan hizmet düzeyinde bir sürüm oluşturma özelliği sağlar. Bir sürüm yayınladığınızda Function Compute, yapılandırması, işlev kodu ve işlev yapılandırmaları dahil olmak üzere hizmetin bir anlık görüntüsünü oluşturur. Tetikleyiciler dahil değildir. Function Compute daha sonra gelecekteki kullanım için anlık görüntüye otomatik olarak bir sürüm numarası atar. Daha fazla bilgi için bkz. Sürüm yayınlama.

    • Sürüm takma adı

      Function Compute, bir hizmet sürümü için takma ad oluşturmanıza olanak tanır. Bir takma ad, belirli bir sürümü işaret eder; bu da yayınlama, geri alma ve kademeli yayın gibi işlemleri kolaylaştırır. Bir takma ad, bir hizmetten veya sürümden bağımsız olarak var olamaz. Bir hizmeti veya işlevi erişmek için bir takma ad kullandığınızda Function Compute, takma adı işaret ettiği sürüme çözümler. Arayanın belirli sürümü bilmesine gerek yoktur. Daha fazla bilgi için bkz. Takma ad oluşturma.

    Invocation Method

    Bu örnek için and synchronizes seçeneğini belirleyin. Daha fazla bilgi için bkz. senkron çağrı ve asenkron çağrı.

    • Senkron çağrı: Olay doğrudan işlevi tetikler. Function Compute işlevi çalıştırır ve bir yanıt bekler. İşlev çağrıldıktan sonra Function Compute çalıştırma sonucunu döndürür.

    • Asenkron çağrı: Function Compute, isteğin tamamlanmasını beklemeden olay isteğini sıraya alır ve hemen bir yanıt döndürür.

      • Bir işlev zaman alıcıysa, kaynak yoğunsa veya hata yapmaya yatkın mantık içeriyorsa yanıt hızını artırmak ve trafik artışlarını güvenilir şekilde işlemek için asenkron çağrıyı kullanabilirsiniz.

      • Bir saatten uzun süren Function Compute görevleri için asenkron çağrıyı kullanın.

    Variable

    Bunlar işlevi çağırmak için kullanılan parametrelerdir. Bu örnekte, her gün OSS'teki yeni PDF dosyalarına filigran eklemek için Event content bölümündeki JSON değiştirilmiştir.

    // The following configuration adds a watermark to the PDF file at ${current_date}/example.pdf.
    {
        "pdf_file": "${current_date}/example.pdf",  // The path of the PDF file in the OSS bucket.
        "mark_text": "DataWorks",    // The watermark text. This parameter is required if you want to add a watermark to a PDF file.
        "pagesize": [595.275590551181, 841.8897637795275], // Optional. The default page size is A4 (21 cm × 29.7 cm), where 1 cm is equal to 28.346456692913385.
        "font": "Helvetica",     // Optional. The default font is Helvetica. For Chinese text, you can use zenhei or microhei.
        "font_size": 20,         // Optional. The default font size is 30.
        "font_color": [0, 0, 0], // The font color in RGB format. The default color is black.
        "rotate": 30,            // Optional. The default rotation angle is 0.
        "opacity": 0.1,          // Optional. The default opacity is 0.1. A value of 1 indicates that the text is opaque.
        "density": [198.4251968503937, 283.46456692913387] // The watermark density. The default value is [141.73228346456693, 141.73228346456693], which corresponds to (7 cm, 10 cm). This means the interval between watermarks is 7 cm on the x-axis and 10 cm on the y-axis.
    }
    Not
    • pdf_file değerinde, yani ${current_date}/example.pdf ifadesinde, ${current_date} current_date adlı bir değişkeni temsil eder.

    • DataWorks bir görevi zamanladığında ${current_date} ifadesini gerçek değerle değiştirir. Bu değişkeni zamanlama parametrelerinde yapılandırabilirsiniz. Örneğin, görev 15 Ağustos 2023 tarihinde çalıştırıldığında pdf_file değeri 2023-08-15/example.pdf olur ve görev 16 Ağustos 2023 tarihinde çalıştırıldığında pdf_file değeri 2023-08-16/example.pdf olur.

    • İş sisteminizin yalnızca zamanlanmış görev çalışmadan önce ilgili yola PDF dosyaları oluşturması yeterlidir. Bu sayede yeni PDF dosyalarına günlük olarak dinamik şekilde filigran eklenebilir.

    • Görevi çalıştırmadan önce ${current_date}/example.pdf yoluna eşleşen bir PDF dosyasını OSS'e yüklemeniz gerekir. Örneğin, 2023-08-15/example.pdf.

  6. İsteğe bağlı: Function Compute düğümünü hata ayıklama. Düğümü yapılandırdıktan sonra 运行 simgesine tıklayın, görev için bir kaynak grubu belirtin ve hata ayıklama amacıyla kod değişkenine bir sabit atayın. Bu işlem, düğümün kod mantığının doğru olup olmadığını test eder. Örneğin, current_date=2023-08-15 ayarlandığında Function Compute, OSS'teki 2023-08-15/example.pdf dosyasına filigran ekler.

  7. Düğüm için periyodik zamanlama özelliklerini yapılandırın. DataWorks, zamanlama senaryolarında dinamik parametre aktarımını sağlamak için zamanlama parametreleri sunar. Sağ taraftaki Scheduling bölmesini açın ve Parameter bölümünde parametreleri ayarlayın. Bu örnekte, değeri $[yyyy-mm-dd] olan current_date adlı bir parametre eklenir; bu değer, görevin çalıştığı andaki geçerli yılı, ayı ve günü temsil eder. Zamanlama parametreleri hakkında daha fazla bilgi için bkz. Desteklenen zamanlama parametresi biçimleri. Zamanlama özellikleri hakkında daha fazla bilgi için bkz. Görev zamanlama özelliklerine genel bakış.

Adım 3: Düğümü gönderme ve dağıtma

Bir Function Compute düğümünü otomatik zamanlamada çalıştırmak için öncelikle onu üretim ortamına göndermeniz ve dağıtmanız gerekir.

  1. Düğümü kaydedin ve gönderin.

    Araç çubuğundaki 保存 ve 提交 simgelerine tıklayarak düğümü kaydedin ve gönderin. Gönderme iletişim kutusunda bir değişiklik açıklaması girin ve gerekirse kod incelemesi ile duman testi için seçenekleri belirleyin.

    Not
    • Düğümü gönderebilmeniz için zamanlama özelliklerinde Rerun attribute özelliğini ve Parent Nodes öğesini yapılandırmanız gerekir.

    • Kod incelemesi etkinleştirildiyse gönderilen bir düğümün kodunun dağıtılmadan önce bir inceleyen tarafından onaylanması gerekir. Daha fazla bilgi için bkz. Kod incelemesi.

    • Zamanlanmış düğümün beklendiği gibi çalıştığından emin olmak için dağıtmadan önce görevde duman testi yapmanızı öneririz. Daha fazla bilgi için bkz. Duman testi.

  2. İsteğe bağlı. Düğümü dağıtma.

    Standart modda bir çalışma alanı kullanıyorsanız düğümü gönderdikten sonra sağ üst köşedeki Deploy seçeneğine tıklayarak düğümü dağıtmanız gerekir. Daha fazla bilgi için bkz. Standart moddaki çalışma alanları ve Görevleri dağıtma.

Sonraki adımlar

İlgili belgeler