全部产品
Search
文档中心

DataWorks:Node Function Compute

更新时间:Jul 02, 2025

DataWorks menyediakan node Function Compute yang memungkinkan Anda menggunakan kode kustom untuk mengimplementasikan berbagai kebutuhan bisnis. Node ini mendukung penjadwalan periodik, memudahkan pelaksanaan tugas terjadwal. Selain itu, node Function Compute dapat bekerja sama dengan jenis node lainnya untuk membantu membangun proses pemrosesan data yang lengkap. Topik ini menjelaskan cara membuat dan menggunakan node Function Compute.

Prasyarat

  • Pengguna RAM yang ingin digunakan telah ditambahkan ke ruang kerja Anda.

    Jika Anda ingin menggunakan pengguna RAM untuk mengembangkan tugas, tambahkan pengguna RAM tersebut ke ruang kerja Anda sebagai anggota dan berikan peran Develop atau Workspace Administrator. Peran Workspace Administrator memiliki lebih banyak izin daripada yang diperlukan. Berhati-hatilah saat memberikan peran ini. Untuk informasi lebih lanjut tentang cara menambahkan anggota dan memberikan peran kepada anggota, lihat Tambahkan anggota ruang kerja dan tetapkan peran kepada mereka.

  • Grup sumber daya serverless telah dikaitkan dengan ruang kerja Anda. Untuk informasi lebih lanjut, lihat topik-topik dalam direktori Gunakan grup sumber daya serverless.

  • Node Function Compute telah dibuat sebelum Anda mengembangkan tugas pada node tersebut. Untuk informasi lebih lanjut, lihat Buat node tugas.

Batasan

  • Batasan fitur: DataWorks hanya memungkinkan Anda untuk memanggil fungsi event functions. Jika Anda ingin menjadwalkan secara berkala fungsi pemrosesan event di DataWorks, buat fungsi event (bukan fungsi HTTP) untuk memproses permintaan event di Function Compute. Untuk informasi lebih lanjut tentang jenis-jenis fungsi lainnya, lihat Pemilihan jenis fungsi.

  • Batasan wilayah: Fitur yang disediakan oleh Function Compute hanya dapat digunakan di ruang kerja yang dibuat di wilayah-wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Shenzhen), Tiongkok (Hong Kong), Singapura, Inggris (London), AS (Silicon Valley), AS (Virginia), Jerman (Frankfurt), Australia (Sydney), dan India (Mumbai).

Peringatan

  • Saat menggunakan node Function Compute, Anda harus memanggil fungsi event yang akan dieksekusi berdasarkan layanan yang Anda buat. Anda mungkin tidak mendapatkan daftar layanan yang telah dibuat saat ingin memilih layanan. Masalah ini dapat terjadi karena salah satu dari alasan berikut:

    • Akun Anda saat ini memiliki pembayaran yang tertunda. Dalam hal ini, isi ulang akun Anda dan segarkan halaman konfigurasi node untuk mencoba lagi.

    • Akun Anda tidak memiliki izin yang diperlukan untuk mendapatkan daftar layanan. Dalam hal ini, hubungi akun Alibaba Cloud untuk memberikan Anda izin fc:ListServices atau lampirkan kebijakan AliyunFCFullAccess ke akun Anda. Setelah otorisasi selesai, segarkan halaman konfigurasi node untuk mencoba lagi. Untuk informasi lebih lanjut, lihat Kelola izin pada layanan DataWorks dan entitas di konsol DataWorks menggunakan kebijakan RAM.

  • Saat Anda memanggil fungsi untuk menjalankan node Function Compute di DataWorks, jika durasi eksekusi node melebihi satu jam, atur parameter Metode Pemanggilan menjadi Pemanggilan Asinkron untuk node tersebut. Untuk informasi lebih lanjut tentang pemanggilan asinkron, lihat Ikhtisar.

  • Jika Anda mengembangkan node Function Compute sebagai pengguna RAM, kebijakan sistem atau kebijakan kustom berikut harus dilampirkan ke pengguna RAM tersebut.

    Jenis Kebijakan

    Deskripsi

    Kebijakan Sistem

    Lampirkan kebijakan AliyunFCFullAccess, AliyunFCReadOnlyAccess, dan AliyunFCInvocationAccess ke pengguna RAM. Untuk informasi lebih lanjut tentang kebijakan sistem, lihat Kebijakan Sistem.

    Kebijakan Kustom

    Berikan semua izin berikut kepada pengguna RAM menggunakan kebijakan kustom saat Anda menggunakan Function Compute 3.0:

    • <u>fc:GetAsyncTask</u>

    • <u>fc:StopAsyncTask</u>

    • fc:GetService

    • fc:ListServices

    • fc:GetFunction

    • fc:InvokeFunction

    • fc:ListFunctions

    • fc:GetFunctionAsyncInvokeConfig

    • fc:ListServiceVersions

    • fc:ListAliases

    • fc:GetAlias

    • fc:ListFunctionAsyncInvokeConfigs

    • fc:GetStatefulAsyncInvocation

    • fc:StopStatefulAsyncInvocation

    Saat Anda menggunakan Function Compute 2.0, Anda tidak perlu memberikan izin fc:GetAsyncTask dan fc:StopAsyncTask kepada pengguna RAM menggunakan kebijakan kustom.

    Catatan

    Untuk informasi tentang lebih banyak kebijakan Function Compute dan contoh kebijakan, lihat topik atau bagian berikut:

1. Gunakan node Function Compute untuk mengembangkan tugas

  1. Di tab konfigurasi node Function Compute, konfigurasikan parameter-parameter yang dijelaskan dalam tabel berikut.

    image

    Parameter

    Deskripsi

    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.

    • Versi Layanan

      Function Compute menyediakan fitur penomoran versi tingkat layanan, yang memungkinkan Anda merilis satu atau beberapa versi untuk layanan. Versi mirip dengan snapshot layanan yang berisi informasi seperti pengaturan layanan, serta kode dan 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 spesifik dari layanan. Anda dapat menggunakan alias untuk melakukan rilis versi, rollback, atau rilis canary dengan mudah. 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.

    Select Function

    Pilih fungsi yang ingin Anda panggil untuk menjalankan node Function Compute. Jika tidak ada fungsi yang tersedia, buat fungsi. Untuk informasi lebih lanjut, lihat Kelola fungsi.

    Catatan

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

    Dalam contoh ini, fungsi para_service_01_by_time_triggers dipilih. Saat Anda membuat fungsi seperti itu, gunakan kode contoh untuk triggering a function at a scheduling time. Logika kode:

    import json
    import logging
    
    logger = logging.getLogger()
    
    def handler(event, context):
        logger.info('event: %s', event)
    
        # Parse the json
        evt = json.loads(event)
        triggerName = evt["triggerName"]
        triggerTime = evt["triggerTime"]
        payload = evt["payload"]
    
        logger.info('triggerName: %s', triggerName)
        logger.info("triggerTime: %s", triggerTime)
        logger.info("payload: %s", payload)
    
        return 'Timer Payload: ' + payload

    Untuk informasi lebih lanjut tentang kode contoh fungsi lainnya, lihat Kode Contoh.

    Invocation Method

    Metode untuk memanggil fungsi. Nilai valid:

    • Pemanggilan Sinkron: Saat Anda memanggil fungsi secara sinkron, sebuah event langsung memicu fungsi, dan Function Compute mengeksekusi fungsi dan 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 secara persisten, bukan hanya setelah eksekusi permintaan selesai.

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

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

    Variable

    Tetapkan nilai ke variabel dalam fungsi berdasarkan kebutuhan bisnis Anda. Data di bidang ini sesuai dengan konten di tab Buat Test Event Baru panel Konfigurasi Parameter Uji untuk fungsi di konsol Function Compute. Untuk pergi ke panel Konfigurasi Parameter Uji, pergi ke halaman detail fungsi di konsol Function Compute dan pilih Test Function> > Configure Test Parameters di tab Code.

    Dalam contoh ini, tetapkan parameter berikut ke variabel sebagai nilai dalam fungsi para_service_01_by_time_triggers. Format ${} digunakan untuk mendefinisikan variabel bizdate. Anda perlu menetapkan nilai ke variabel tersebut.

    {
        "payload": "payload1",
        "triggerTime": "${bizdate}",
        "triggerName": "triggerName1"
    }
  2. Setelah Anda mengembangkan tugas berdasarkan node Function Compute, konfigurasikan properti penjadwalan untuk node tersebut agar sistem dapat menjadwalkan tugas secara berkala. Untuk informasi lebih lanjut, lihat Konfigurasi Penjadwalan.

2. Terapkan node Function Compute dan lakukan operasi O&M

  1. Setelah kode node dan properti penjadwalan dikonfigurasi, terapkan node Function Compute ke lingkungan produksi. Untuk informasi lebih lanjut, lihat Penyebaran node atau alur kerja.

  2. Setelah penyebaran selesai, pergi ke halaman Auto Triggered Nodes di Operation Center untuk melihat node yang telah diterapkan dan melakukan operasi O&M pada node tersebut. Sistem secara berkala menjalankan node berdasarkan properti penjadwalan yang Anda konfigurasikan. Untuk informasi lebih lanjut, lihat Memulai dengan Pusat Operasi.