All Products
Search
Document Center

DataWorks:Tambahkan watermark ke file PDF secara dinamis dengan menggunakan node Function Compute di DataWorks

Last Updated:Jul 06, 2025

Topik ini menjelaskan cara menggunakan node Function Compute di DataWorks untuk memanggil layanan Function Compute dan secara berkala menambahkan watermark ke file PDF tambahan di Object Storage Service (OSS).

Informasi latar belakang

DataWorks memungkinkan Anda menggunakan node Function Compute untuk memanggil layanan Function Compute. Anda dapat melakukan konfigurasi kustom untuk berbagai fitur dalam layanan Function Compute, lalu menggunakan node Function Compute di DataWorks untuk memanggil layanan tersebut.

Prasyarat

  • DataWorks telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan DataWorks.

  • Function Compute telah diaktifkan. Untuk informasi lebih lanjut, lihat Buat Fungsi dengan Cepat.

  • OSS telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan OSS. Bucket telah dibuat, dan file PDF yang ingin ditambahkan watermark telah diunggah ke bucket. Dalam contoh ini, direktori bernama 2023-08-15 dibuat di bucket bucket-test222, dan file bernama example.pdf diunggah ke direktori tersebut.

Batasan

  • Batasan pada Fitur

    DataWorks hanya memungkinkan Anda memanggil Fungsi Event. Jika Anda ingin menjadwalkan pemrosesan event secara berkala di DataWorks, Anda harus membuat fungsi event daripada fungsi HTTP untuk memproses permintaan event di Function Compute. Untuk informasi lebih lanjut tentang jenis fungsi lainnya, lihat Pemilihan Jenis Fungsi.

  • Batasan pada Wilayah

    Anda hanya dapat menggunakan fitur yang disediakan oleh node Function Compute di workspace yang berada di wilayah berikut: China (Hangzhou), China (Shanghai), China (Beijing), , China (Shenzhen), China (Chengdu), China (Hong Kong), Singapura, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Jerman (Frankfurt), Inggris (London), AS (Silicon Valley), dan AS (Virginia).

Langkah 1: Buat aplikasi Function Compute

  1. Masuk ke Konsol Function Compute. Di panel navigasi sebelah kiri, klik Applications.

  2. Di halaman Aplikasi, klik Create Application. Di halaman Buat Aplikasi, pilih Use a Template to Create an Application. Di kotak pencarian, masukkan start-pdf-watermark dan klik ikon pencarian. Gerakkan pointer ke template aplikasi start-pdf-watermark yang muncul setelah pencarian dan klik Create Now.

    image

    Catatan

    Anda dapat mengunjungi GitHub untuk melihat kode sumber dari template aplikasi start-pdf-watermark. Logika implementasi aplikasi adalah menambahkan watermark tertentu ke file PDF di OSS dan menulis kembali file PDF dengan watermark ke jalur OSS yang sama.

  3. Di halaman Create Application, konfigurasikan parameter.

    Parameter

    Deskripsi

    Deployment Type

    Atur nilainya menjadi Directly Deploy.

    Application Name

    Sistem secara otomatis menghasilkan nama yang memenuhi persyaratan terkait. Anda dapat mengubah nama sesuai dengan kebutuhan bisnis Anda.

    Role Name

    AliyunFCServerlessDevsRole dipilih secara default. Anda dapat mengubah kebijakan yang dilampirkan ke peran sesuai dengan kebutuhan bisnis Anda.

    • Ketika Anda menyebarkan aplikasi di Pusat Aplikasi Serverless, pastikan bahwa Function Compute diberi izin yang diperlukan. Misalnya, beberapa izin diperlukan ketika Anda menyebarkan sumber daya layanan dan fungsi tertentu serta mengakses layanan Alibaba Cloud lainnya, seperti Virtual Private Cloud (VPC), File Storage NAS (NAS), dan Simple Log Service. Pertama-tama, Anda harus mengasosiasikan peran RAM dengan aplikasi atau lingkungan dan menetapkan Function Compute sebagai layanan tepercaya. Kemudian, Pusat Aplikasi dapat memanggil operasi AssumeRole untuk mendapatkan Token Layanan Keamanan (STS) dan mengambil alih peran RAM untuk mengakses layanan Alibaba Cloud.

    • Untuk menyederhanakan otorisasi, Serverless Application Center menyediakan peran default AliyunFCServerlessDevsRole. Peran ini memiliki izin pada beberapa sumber daya Alibaba Cloud yang diakses oleh Service Application Center. Anda dapat masuk ke Konsol Resource Access Management (RAM) untuk melihat izin dari peran AliyunFCServerlessDevsRole.

    Region

    Wilayah tempat Anda ingin membuat aplikasi. Setelah Anda memilih wilayah, hanya bucket OSS di wilayah yang dipilih yang tersedia untuk parameter OSS bucket name.

    Function name

    Sistem secara otomatis menghasilkan nama yang memenuhi persyaratan terkait. Anda dapat mengubah nama sesuai dengan kebutuhan bisnis Anda.

    Time Zone

    Zona waktu tempat wilayah yang dipilih berada dipilih secara default. Anda dapat mengubah nilainya sesuai dengan kebutuhan bisnis Anda.

    OSS bucket name

    Nama bucket OSS yang ingin Anda gunakan. Hanya bucket OSS yang berada di wilayah yang ditentukan oleh parameter Wilayah yang tersedia.

    RAM's ARN

    AliyunFCDefaultRole dipilih secara default. Anda dapat mengubah nilainya sesuai dengan kebutuhan bisnis Anda.

    Untuk menyederhanakan operasi otorisasi, Function Compute menyediakan peran layanan default bernama AliyunFCDefaultRole. Peran ini memiliki izin pada sumber daya Alibaba Cloud tertentu yang Function Compute perlu akses. Untuk informasi tentang cara membuat peran layanan default AliyunFcDefaultRole dan menetapkan peran, lihat bagian Langkah 1: Aktifkan Function Compute di topik "Buat fungsi dengan cepat".

    Catatan

    Jika sistem memberi tahu bahwa aplikasi memerlukan izin tambahan saat Anda membuat aplikasi, Anda dapat mengklik Authorize untuk mendapatkan izin yang diperlukan.

  4. Klik Create and Deploy Default Environment. Jika Deployed ditampilkan di sebelah Status Penyebaran di sisi kanan halaman detail yang muncul, aplikasi telah dibuat dan disebar.

    image.png

  5. Di halaman Aplikasi, temukan aplikasi yang dibuat dan klik nama aplikasi. Tab Detail Lingkungan akan muncul.

    image

  6. Di bagian Resource Information dari tab Environment Details, klik nilai dari Function untuk pergi ke halaman detail fungsi.

    image

  7. Di halaman detail fungsi, klik tab Test Function. Di tab Uji Fungsi, perluas Konfigurasi Acara Tes dan konfigurasikan parameter berikut.

    图片编辑

    • Event name: Masukkan nama untuk acara tes di bidang Nama Acara.

    • Event content: Masukkan kode dalam format JSON di editor kode. Dalam contoh ini, kode berikut dimasukkan.

      Penting

      Jika Anda langsung menyalin kode berikut, Anda harus menghapus garis miring ke depan (/) dan komentar setelah garis miring ke depan (/). Jika tidak, kode tersebut mungkin gagal dalam verifikasi format JSON.

      // Kode berikut memberikan contoh cara menambahkan watermark DataWorks ke file PDF bernama example.pdf di jalur 2023-08-15/. Font watermark adalah Helvetica, dan ukuran font adalah 30. Untuk informasi tentang parameter dalam kode, lihat komentar parameter.
      {
          "pdf_file": "2023-08-15/example.pdf",  // Jalur file PDF di bucket OSS.
          "mark_text": "DataWorks",    // Teks watermark. Jika Anda ingin menambahkan watermark ke file PDF, parameter ini diperlukan.
          "pagesize": [595.275590551181, 841.8897637795275], // Opsional. Nilai default adalah ukuran kertas A4 (21 cm, 29.7 cm). 1 cm setara dengan 28.346456692913385 poin.
          "font": "Helvetica",     // Opsional. Font watermark. Nilai default adalah Helvetica. Jika Anda ingin menambahkan watermark dalam bahasa Cina ke file PDF, Anda dapat mengatur parameter ini ke zenhei atau microhei.
          "font_size": 20,         // Opsional. Ukuran font watermark. Nilai default adalah 30.
          "font_color": [0, 0, 0], // Warna font watermark, dalam format RGB. Warna default adalah hitam.
          "rotate": 30,            // Opsional. Sudut rotasi watermark. Nilai default adalah 0.
          "opacity": 0.1,          // Opsional. Transparansi watermark. Nilai default adalah 0.1. Nilai 1 menunjukkan bahwa watermark tidak transparan.
          "density": [198.4251968503937, 283.46456692913387] // Kepadatan watermark. Nilai default adalah [141.73228346456693, 141.73228346456693], yang menunjukkan interval 7 cm pada sumbu X dan interval 10 cm pada sumbu Y antara teks watermark.
      }
  • Klik Test Function. Jika kode berhasil dijalankan, Anda dapat melihat file PDF yang telah ditambahkan watermark di jalur OSS yang ditentukan. Dalam contoh ini, file example-out.pdf dihasilkan.

    image.png

    Anda dapat melihat file PDF sumber dan file PDF yang dihasilkan di OSS.

    image.png

Langkah 2: Buat dan konfigurasikan node Function Compute di konsol DataWorks

  1. Masuk ke Konsol DataWorks.

  2. Di bilah navigasi atas, pilih wilayah yang Anda tentukan di Langkah 1: Buat Aplikasi Function Compute.

  3. Di panel navigasi sebelah kiri, pilih Data Development and O&M > Data Development. Di halaman Pengembangan Data, pilih workspace yang diinginkan dari daftar drop-down dan klik Pergi ke Pengembangan Data.

  4. Di panel Scheduled Workflow halaman DataStudio, temukan alur kerja yang diinginkan, klik namanya, klik kanan General, dan pilih Buat Node > Function Compute. Di kotak dialog Buat Node, konfigurasikan parameter Nama dan klik Confirm. Node Function Compute dibuat.

  5. Di tab konfigurasi node Function Compute, konfigurasikan parameter.

    设置函数计算节点参数

    Parameter

    Deskripsi

    Select Function

    Pilih nama fungsi yang Anda tentukan di Sublangkah 3 di Langkah 1. Untuk informasi tentang cara membuat fungsi, lihat Kelola fungsi.

    Catatan

    DataWorks hanya memungkinkan Anda memanggil fungsi event. Jika Anda ingin menjadwalkan pemrosesan event secara berkala di DataWorks, Anda harus membuat fungsi event daripada fungsi HTTP untuk memproses permintaan event di Function Compute. Untuk informasi lebih lanjut tentang jenis fungsi lainnya, lihat Pemilihan jenis fungsi.

    Select Version Or Alias

    Pilih versi atau alias layanan yang ingin Anda gunakan untuk pemanggilan fungsi selanjutnya. Jika Anda memilih Versi Default, parameter Versi akan ditampilkan, dan nilai parameter Versi tetap sebagai LATEST. Dalam contoh ini, Default Version dipilih.

    • Versi layanan

      Function Compute menyediakan fitur penomoran versi tingkat layanan, yang memungkinkan Anda merilis satu atau lebih versi untuk layanan. Versi mirip dengan snapshot layanan yang berisi informasi seperti pengaturan layanan, dan kode serta pengaturan fungsi yang termasuk dalam layanan. Versi tidak berisi informasi pemicu. Saat Anda merilis versi, sistem menghasilkan snapshot untuk layanan dan menetapkan nomor versi yang terkait dengan snapshot untuk digunakan di masa mendatang. Untuk informasi lebih lanjut tentang cara merilis versi, lihat Kelola versi.

    • Alias versi

      Function Compute memungkinkan Anda membuat alias untuk versi layanan. Alias menunjuk ke versi tertentu dari layanan. Anda dapat menggunakan alias untuk dengan mudah melakukan rilis versi, rollback, atau rilis canary. Alias bergantung pada layanan atau versi. Saat Anda menggunakan alias untuk mengakses layanan atau fungsi, Function Compute mengurai alias menjadi versi yang ditunjuk oleh alias. Dengan cara ini, pemanggil tidak perlu mengetahui versi spesifik yang ditunjuk oleh alias. Untuk informasi tentang cara membuat alias, lihat Kelola alias.

    Invocation Method

    Dalam contoh ini, Synchronous Invocation dipilih. Untuk informasi lebih lanjut tentang metode pemanggilan, lihat Pemanggilan Sinkron dan topik-topik dalam direktori Pemanggilan Asinkron.

    • Pemanggilan Sinkron: Saat Anda memanggil fungsi secara sinkron, sebuah event langsung memicu fungsi tersebut, dan Function Compute mengeksekusi fungsi serta menunggu respons. Setelah fungsi dipanggil, Function Compute mengembalikan hasil eksekusi fungsi.

    • Pemanggilan Asinkron: Saat Anda memanggil fungsi secara asinkron, Function Compute segera mengembalikan respons setelah permintaan disimpan, bukan hanya setelah eksekusi permintaan selesai.

      • Jika fungsi Anda memiliki logika yang memakan waktu, sumber daya, atau rentan terhadap kesalahan, Anda dapat menggunakan metode ini untuk memungkinkan program Anda merespons lonjakan lalu lintas dengan cara yang efisien dan andal.

      • Kami merekomendasikan Anda menggunakan metode ini untuk tugas Function Compute yang durasi berjalannya melebihi satu jam.

    Variable

    Parameter yang ditetapkan sebagai nilai variabel yang digunakan dalam kode untuk memanggil fungsi. Dalam contoh ini, konten JSON yang Anda konfigurasikan di Sublangkah 7 di Langkah 1 dimodifikasi dan digunakan untuk menambahkan watermark ke file PDF tambahan di OSS setiap hari.

    // Kode berikut memberikan contoh cara menambahkan watermark ke file PDF bernama example.pdf di jalur yang dalam format ${current_date}/.
    {
        "pdf_file": "${current_date}/example.pdf",  // Jalur file PDF di bucket OSS.
        "mark_text": "DataWorks",    // Teks watermark. Jika Anda ingin menambahkan watermark ke file PDF, parameter ini diperlukan.
        "pagesize": [595.275590551181, 841.8897637795275], // Opsional. Nilai default adalah ukuran kertas A4 (21 cm, 29.7 cm). 1 cm setara dengan 28.346456692913385 poin.
        "font": "Helvetica",     // Opsional. Font watermark. Nilai default adalah Helvetica. Jika Anda ingin menambahkan watermark dalam bahasa Cina ke file PDF, Anda dapat mengatur parameter ini ke zenhei atau microhei.
        "font_size": 20,         // Opsional. Ukuran font watermark. Nilai default adalah 30.
        "font_color": [0, 0, 0], // Warna font watermark, dalam format RGB. Warna default adalah hitam.
        "rotate": 30,            // Opsional. Sudut rotasi watermark. Nilai default adalah 0.
        "opacity": 0.1,          // Opsional. Transparansi watermark. Nilai default adalah 0.1. Nilai 1 menunjukkan bahwa watermark tidak transparan.
        "density": [198.4251968503937, 283.46456692913387] // Kepadatan watermark. Nilai default adalah [141.73228346456693, 141.73228346456693], yang menunjukkan interval 7 cm pada sumbu X dan interval 10 cm pada sumbu Y antara teks watermark.
    }
    Catatan
    • Nilai dari pdf_file dalam format ${current_date}/example.pdf. ${current_date} menunjukkan bahwa variabel bernama current_date digunakan.

    • Saat DataWorks menjalankan tugas pada node Function Compute, DataWorks mengganti ${current_date} dengan nilai aktual. Anda dapat mengonfigurasi variabel saat mengonfigurasi parameter penjadwalan untuk node Function Compute. Misalnya, jika DataWorks menjalankan tugas pada node Function Compute pada 15 Agustus 2023, nilai dari pdf_file adalah 2023-08-15/example.pdf. Jika DataWorks menjalankan tugas pada node Function Compute pada 16 Agustus 2023, nilai dari pdf_file adalah 2023-08-16/example.pdf.

    • DataWorks dapat menjalankan tugas pada node Function Compute untuk menambahkan watermark ke file PDF tambahan setiap hari hanya jika sistem bisnis menghasilkan file PDF tambahan di jalur OSS tertentu setiap hari berdasarkan aturan waktu tertentu sebelum waktu penjadwalan node Function Compute.

    • Untuk contoh ini, Anda harus mengunggah file PDF ke jalur dalam format /${current_date}/ di OSS sebelum DataWorks mulai menjalankan tugas pada node Function Compute. Misalnya, Anda dapat mengunggah file PDF bernama example.pdf ke jalur 2023-08-15/.

  6. Opsional. Debug dan jalankan tugas pada node Function Compute. Setelah konfigurasi selesai, klik ikon 运行 di bilah alat atas tab konfigurasi node Function Compute. Di kotak dialog Parameter Runtime, pilih grup sumber daya yang ingin Anda gunakan untuk menjalankan tugas pada node Function Compute, tetapkan konstanta ke variabel yang Anda gunakan sebagai nilai, lalu klik Konfirmasi untuk menguji apakah logika kode node Function Compute benar. Sebagai contoh, jika Anda menetapkan 2023-08-15 ke variabel ${current_date} sebagai nilainya, DataWorks menjalankan tugas pada node Function Compute untuk menambahkan watermark ke file example.pdf yang disimpan di jalur 2023-08-15/.

  7. Konfigurasikan properti penjadwalan untuk node Function Compute untuk menjadwalkan dan menjalankan tugas pada node secara berkala. DataWorks menyediakan parameter penjadwalan, yang digunakan untuk menerapkan pengoperan parameter dinamis dalam kode node di skenario penjadwalan. Anda dapat mengklik Properties di panel navigasi sebelah kanan tab konfigurasi node Function Compute. Di bagian Scheduling Parameter tab Properti, Anda dapat mengonfigurasi parameter penjadwalan untuk node Function Compute. Dalam contoh ini, parameter penjadwalan current_date ditambahkan, dan $[yyyy-mm-dd] ditetapkan ke parameter penjadwalan sebagai nilainya. yyyy-mm-dd menunjukkan tahun, bulan, dan hari ketika tugas dijalankan pada node Function Compute. Untuk informasi lebih lanjut tentang konfigurasi parameter penjadwalan, lihat Format yang Didukung untuk Parameter Penjadwalan. Untuk informasi lebih lanjut tentang properti penjadwalan, lihat Ikhtisar.

    image.png

3. Komit dan sebarkan node Function Compute

Node Function Compute hanya dapat dijadwalkan secara otomatis setelah dikomit dan disebar ke lingkungan produksi.

  1. Simpan dan komit node Function Compute.

    Klik ikon 保存 dan 提交 di bilah alat atas tab konfigurasi node Function Compute untuk menyimpan dan mengkomit node Function Compute. Saat Anda mengkomit node, masukkan deskripsi perubahan sesuai petunjuk dan tentukan apakah akan melakukan tinjauan kode dan pengujian asap.

    Catatan
    • Anda hanya dapat mengkomit node setelah mengonfigurasi parameter Rerun dan Parent Nodes di tab Properti.

    • Jika fitur tinjauan kode diaktifkan, node hanya dapat disebar setelah kode node disetujui oleh peninjau yang ditentukan. Untuk informasi lebih lanjut, lihat Tinjauan Kode.

    • Untuk memastikan bahwa node yang Anda buat dapat dijalankan sesuai harapan, kami sarankan Anda melakukan pengujian asap sebelum menyebarkan node. Untuk informasi lebih lanjut, lihat Lakukan Pengujian Asap.

  2. Opsional. Sebarkan node Function Compute.

    Jika workspace yang Anda gunakan berada dalam mode standar, Anda harus mengklik Deploy di pojok kanan atas untuk menyebarkan node setelah Anda mengkomitnya. Untuk informasi lebih lanjut, lihat Perbedaan antara Workspace dalam Mode Dasar dan Workspace dalam Mode Standar dan Sebarkan Node.

Apa yang Harus Dilakukan Selanjutnya

Referensi