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, danAliyunFCInvocationAccesske 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:GetServicefc:ListServicesfc:GetFunctionfc:InvokeFunctionfc:ListFunctionsfc:GetFunctionAsyncInvokeConfigfc:ListServiceVersionsfc:ListAliasesfc:GetAliasfc:ListFunctionAsyncInvokeConfigsfc:GetStatefulAsyncInvocationfc:StopStatefulAsyncInvocation
Saat Anda menggunakan Function Compute 2.0, Anda tidak perlu memberikan izin
fc:GetAsyncTaskdanfc:StopAsyncTaskkepada pengguna RAM menggunakan kebijakan kustom.CatatanUntuk informasi tentang lebih banyak kebijakan Function Compute dan contoh kebijakan, lihat topik atau bagian berikut:
1. Gunakan node Function Compute untuk mengembangkan tugas
Di tab konfigurasi node Function Compute, konfigurasikan parameter-parameter yang dijelaskan dalam tabel berikut.

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.
CatatanDataWorks 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_triggersdipilih. 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: ' + payloadUntuk 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 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 variabelbizdate. Anda perlu menetapkan nilai ke variabel tersebut.{ "payload": "payload1", "triggerTime": "${bizdate}", "triggerName": "triggerName1" }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
Setelah kode node dan properti penjadwalan dikonfigurasi, terapkan node Function Compute ke lingkungan produksi. Untuk informasi lebih lanjut, lihat Penyebaran node atau alur kerja.
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.