Dengan Function Compute, Anda tidak perlu membeli atau mengelola infrastruktur seperti server. Cukup tulis dan unggah kode serta gambar untuk membangun aplikasi yang elastis dan andal. Topik ini menjelaskan cara membuat fungsi dengan cepat di konsol Function Compute. Sebagai contoh, digunakan fungsi Hello World serverless sederhana.
Latar Belakang
Sebelum membuat fungsi, Anda harus mengaktifkan Function Compute dan membuat layanan di dalamnya. Setelah fungsi dibuat, Anda dapat menjalankannya.
Layanan adalah unit dasar untuk mengelola sumber daya di Function Compute. Anda dapat membuat fungsi dalam layanan dan mengonfigurasi pengaturan layanan tersebut, seperti izin dan fitur logging. Fungsi merupakan unit dasar untuk penjadwalan sumber daya dan waktu proses di Function Compute. Fungsi menentukan logika kode yang harus ditulis berdasarkan antarmuka yang disediakan oleh Function Compute. Layanan di Function Compute mirip dengan layanan mikro dalam arsitektur perangkat lunak aplikasi. Saat membangun aplikasi di platform Function Compute, abstraksi logika bisnis menjadi layanan mikro sesuai kebutuhan bisnis Anda, kemudian diimplementasikan sebagai layanan di Function Compute.
Prasyarat
Anda telah mendaftarkan akun Alibaba Cloud dan menyelesaikan verifikasi identitas.
Prosedur
Topik ini menjelaskan cara membuat fungsi di Function Compute console. Dalam topik ini, Use Built-in Runtime dan Use Custom Runtime digunakan sebagai contoh.
Langkah 1: Aktifkan Function Compute
Klik Console. Halaman rencana percobaan untuk pengguna baru Function Compute akan ditampilkan. Klik Buy Now untuk mengaktifkan Function Compute dan masuk ke Function Compute console.
CatatanDisarankan menggunakan akun Alibaba Cloud untuk mengaktifkan Function Compute dan menggunakan layanan sebagai pengguna RAM.
Jika Anda telah mengaktifkan Function Compute, Anda akan langsung diarahkan ke Function Compute console.
(Opsional) Jika ini pertama kalinya Anda masuk ke konsol Function Compute, pesan Create the AliyunFcDefaultRole Role akan muncul. Klik Create untuk masuk ke halaman Buat Peran dan buat peran AliyunFCDefaultRole.
Otorisasi berhasil
Jika otorisasi berhasil, Function Compute memiliki izin untuk mengakses sumber daya Alibaba Cloud tertentu.
Otorisasi gagal
Jika otorisasi gagal, periksa apakah Anda memiliki izin untuk melakukan otorisasi.
Jika Anda menggunakan pengguna RAM dan tidak memiliki izin untuk membuat peran default untuk Function Compute, Anda harus masuk dengan akun Alibaba Cloud Anda dan masuk ke halaman pembuatan peran untuk memberikan izin. Setelah otorisasi, pesan Buat Peran AliyunFcDefaultRole tidak akan ditampilkan saat Anda masuk ke konsol Function Compute menggunakan pengguna RAM Anda.
Jika Anda menggunakan akun Alibaba Cloud atau pengguna RAM yang memiliki izin untuk membuat peran default untuk Function Compute, otorisasi mungkin gagal karena beberapa fitur tidak dapat diberi otorisasi. Dalam hal ini, Function Compute masih dapat digunakan sesuai harapan. Jika Anda tetap perlu memberikan peran default, bergabunglah dengan grup DingTalk 11721331 untuk dukungan teknis.
Untuk informasi lebih lanjut tentang manajemen izin, lihat Berikan izin Function Compute untuk mengakses layanan Alibaba Cloud lainnya.
Langkah 2: Buat layanan
Masuk ke konsol Function Compute. Di panel navigasi kiri, klik Services & Functions.
Di bilah navigasi atas, pilih wilayah. Di halaman Services, klik Create Service.
Di panel Create Service, masukkan nama layanan dan deskripsi, konfigurasikan parameter lainnya, lalu klik OK. Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
Contoh
Logging
Menentukan apakah akan mengaktifkan fitur logging. Nilai valid:
Enable: Function Compute mengirim log eksekusi fungsi ke Layanan Log Sederhana untuk penyimpanan persisten. Anda dapat men-debug kode, memecahkan masalah, dan menganalisis data berdasarkan log tersebut.
Disable: Anda tidak dapat menggunakan Layanan Log Sederhana untuk menyimpan atau menanyakan log eksekusi fungsi.
Aktifkan
Opsi Lanjutan
Managed Service for OpenTelemetry
Tentukan apakah akan mengaktifkan Managed Service for OpenTelemetry. Nilai yang valid:
Enable: mengaktifkan Managed Service for OpenTelemetry. Anda dapat menggunakan Jaeger untuk mengunggah informasi jejak. Ini memungkinkan Anda melihat jejak fungsi. Anda juga dapat menganalisis dan mendiagnosis hambatan kinerja dalam arsitektur serverless. Untuk informasi lebih lanjut, lihat Ikhtisar Managed Service for OpenTelemetry.
Disable: menonaktifkan Managed Service for OpenTelemetry.
Aktifkan
Server Role
Konfigurasikan peran untuk fungsi dalam layanan. Dengan cara ini, fungsi dapat memperoleh izin dari peran tersebut. Untuk informasi lebih lanjut, lihat Berikan izin Function Compute untuk mengakses layanan Alibaba Cloud lainnya.
AliyunFCDefaultRole
Access to VPC
Menentukan apakah akan mengizinkan fungsi mengakses sumber daya virtual private cloud (VPC). Untuk informasi lebih lanjut, lihat Konfigurasikan pengaturan jaringan.
Ya
VPC
Parameter ini diperlukan jika Anda mengatur parameter Access to VPC ke Yes. Buat VPC atau pilih ID VPC yang ada yang ingin Anda akses dari daftar drop-down.
fc.auto.create.vpc.1632317****
vSwitch
Parameter ini diperlukan jika Anda mengatur parameter Access to VPC ke Yes. Buat vSwitch atau pilih ID vSwitch yang ada dari daftar drop-down.
fc.auto.create.vswitch.vpc-bp1p8248****
Security Group
Parameter ini diperlukan jika Anda mengatur parameter Access to VPC ke Yes. Buat grup keamanan atau pilih grup keamanan yang ada dari daftar drop-down.
fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd****
Access to Internet
Menentukan apakah akan mengizinkan fungsi dalam layanan mengakses Internet. Jika Anda mengatur parameter ini ke Tidak, fungsi dalam layanan tidak dapat mengakses Internet melalui antarmuka kontrol jaringan (NIC) default di Function Compute.
PentingJika Anda ingin menggunakan alamat IP publik statis untuk mengakses Internet, Anda harus mengatur parameter Access to Internet ke Tidak. Jika tidak, alamat IP publik statis yang dikonfigurasi tidak akan berlaku. Untuk informasi lebih lanjut, lihat Tetapkan alamat IP publik statis.
Ya
Setelah layanan dibuat, Anda dapat mengklik Services & Functions untuk melihat layanan yang dibuat di halaman Layanan.
Langkah 3: Buat fungsi
Masuk ke konsol Function Compute. Di panel navigasi kiri, klik Services & Functions.
Di bilah navigasi atas, pilih wilayah. Di halaman Services, klik layanan yang diinginkan.
Di halaman Functions, klik Create Function.
Di halaman Create Function, pilih metode untuk membuat fungsi, konfigurasikan parameter berikut, lalu klik Create.
CatatanDalam contoh ini, Use Built-in Runtime dan Use Custom Runtime digunakan. Jika runtime yang disediakan oleh Function Compute tidak dapat memenuhi kebutuhan bisnis Anda, Anda dapat memilih Use Container Image untuk membuat fungsi. Untuk informasi lebih lanjut, lihat Buat fungsi Custom Container.
Basic Settings: Konfigurasikan informasi dasar fungsi, termasuk Function Name dan Handler Type. Handler Type dapat diatur ke salah satu nilai berikut:
Event Handler: Memicu fungsi dengan menggunakan timer, memanggil operasi API, menggunakan SDK, atau menggunakan pemicu terintegrasi dengan layanan Alibaba Cloud lainnya.
HTTP Handler: Memicu eksekusi fungsi dengan permintaan HTTP atau WebSocket. Dalam skenario web, kami sarankan Anda memilih Use Custom Runtime.
Di bagian Code, konfigurasikan runtime dan informasi terkait kode fungsi.
Parameter
Deskripsi
Contoh
Runtime
Pilih bahasa pemrograman, seperti Python, Java, PHP, atau Node.js. Untuk informasi lebih lanjut tentang runtime yang didukung oleh Function Compute, lihat Runtime yang didukung oleh Function Compute.
Node.js14
Code Upload Method
Pilih metode untuk mengunggah kode fungsi ke Function Compute.
Use Sample Code: Pilih kode contoh yang disediakan oleh Function Compute untuk membuat fungsi berdasarkan kebutuhan bisnis Anda. Ini adalah metode default.
Upload ZIP: Pilih dan unggah paket ZIP yang berisi kode Anda.
Upload JAR: Pilih dan unggah file JAR yang berisi kode fungsi Anda.
Upload Folder: Pilih dan unggah folder yang berisi kode fungsi.
OSS: Tentukan parameter Bucket Name dan Object Name untuk kode fungsi Anda.
CatatanJika Anda mengatur Code Upload Method ke Use Sample Code, Anda tidak perlu memodifikasi Handler. Jika Anda memilih metode pengunggahan kode lainnya, Anda harus memodifikasi Handler berdasarkan kebutuhan bisnis Anda. Jika tidak, kesalahan akan dilaporkan saat Anda menjalankan fungsi.
Jika Anda mengatur Runtime ke Java 8 atau Java 11, Anda hanya dapat memilih Use Sample Code, Upload JAR, atau OSS untuk mengunggah kode fungsi. Untuk runtime lainnya, Anda dapat memilih Use Sample Code, Upload ZIP, Upload Folder, atau OSS.
Gunakan Kode Contoh
Startup Command
CatatanAnda harus mengonfigurasi parameter ini hanya jika Anda memilih Use Custom Runtime untuk membuat fungsi.
Konfigurasikan perintah startup program. Jika Anda tidak mengonfigurasi perintah startup, Anda harus secara manual membuat skrip startup bernama bootstrap di direktori root kode. Skrip bootstrap digunakan untuk memulai program Anda.
npm run start
Listening Port
CatatanAnda harus mengonfigurasi parameter ini hanya jika Anda memilih Use Custom Runtime untuk membuat fungsi.
Tentukan port tempat server HTTP dalam kode Anda mendengarkan.
9000
Advanced Settings: Konfigurasikan informasi instans dan periode timeout eksekusi fungsi.
Parameter
Deskripsi
Contoh
Specifications
Konfigurasikan vCPU Capacity dan Memory Capacity berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut tentang penagihan sumber daya, lihat Ikhtisar Penagihan.
CatatanRasio kapasitas vCPU terhadap kapasitas memori (dalam GB) harus diatur dari 1:1 hingga 1:4.
0,35 vCPU, 512 MB
Size of Temporary Disk
Tentukan ukuran hard disk yang digunakan untuk menyimpan file sementara berdasarkan kebutuhan bisnis Anda.
Nilai valid:
512 MB (default): Anda tidak dikenakan biaya untuk menggunakan disk sementara dengan ukuran ini. Function Compute memberikan Anda kapasitas disk gratis sebesar 512 MB.
10 GB: Anda akan dikenakan biaya berdasarkan ukuran disk 9,5 GB.
CatatanData dapat ditulis ke semua direktori di disk sementara. Direktori tersebut berbagi ruang disk sementara.
Siklus hidup disk sementara konsisten dengan siklus hidup instans yang mendasarinya. Setelah instans didaur ulang oleh sistem, data pada hard disk dihapus. Untuk menyimpan data secara permanen, Anda dapat menggunakan File Storage NAS (NAS) atau Object Storage Service (OSS). Untuk informasi lebih lanjut, lihat Konfigurasikan sistem file NAS dan Konfigurasikan sistem file OSS.
512 MB
Instance Concurrency
Tentukan konkurensi instans. Untuk informasi lebih lanjut, lihat Konfigurasikan konkurensi instans.
10
Execution Timeout Period
Tentukan periode timeout eksekusi fungsi. Nilai default Execution Timeout Period adalah 60 detik dan nilai maksimumnya adalah 86.400 detik.
60
Handler
Tentukan penangan fungsi. Runtime Function Compute memuat dan memanggil penangan untuk memproses permintaan. Parameter ini tidak diperlukan jika Anda memilih Use Custom Runtime atau Use Container Image.
CatatanJika Anda mengatur Code Upload Method ke Use Sample Code, Anda tidak perlu memodifikasi Handler. Jika Anda memilih metode pengunggahan kode lainnya, Anda harus memodifikasi Handler berdasarkan kebutuhan bisnis Anda. Jika tidak, kesalahan akan dilaporkan saat Anda menjalankan fungsi.
index.handler
Time Zone
Tentukan zona waktu fungsi. Setelah Anda mengonfigurasi zona waktu fungsi, variabel lingkungan TZ secara otomatis ditambahkan ke fungsi. Nilainya adalah zona waktu yang Anda konfigurasikan.
UTC
Environment Variables: Konfigurasikan variabel lingkungan untuk runtime fungsi Anda. Untuk informasi lebih lanjut, lihat Variabel Lingkungan.
Di bagian Trigger Configurations, konfigurasikan pemicu untuk fungsi berdasarkan kebutuhan bisnis Anda. Anda dapat menggunakan pemicu untuk memicu fungsi. Untuk informasi lebih lanjut, lihat Kelola Pemicu.
Langkah 4: Jalankan fungsi
Masuk ke konsol Function Compute. Di panel navigasi kiri, klik Services & Functions.
Di bilah navigasi atas, pilih wilayah. Di halaman Services, klik layanan yang diinginkan.
Di halaman Functions, klik fungsi yang ingin Anda kelola dan klik tab Code untuk melihat kode fungsi.
Potongan kode berikut memberikan contoh kode fungsi yang dibuat dengan menggunakan Use Built-in Runtime.
CatatanAnda dapat mengedit kode di editor kode untuk mengimplementasikan pengembangan sekunder. Lalu, klik Deploy. Kode hanya berlaku setelah kode diterapkan.
'use strict'; exports.handler = (event, context, callback) => { console.log('hello world'); callback(null, 'hello world'); }Klik Test Function.
Setelah fungsi dijalankan, Anda dapat melihat hasil dan log rinci di tab Code.
Referensi
Function Compute menyediakan berbagai kode contoh. Anda dapat dengan mudah menemukan kode contoh yang sesuai dengan kebutuhan bisnis Anda saat membuat atau mengonfigurasi fungsi. Untuk informasi lebih lanjut tentang kode contoh Function Compute, lihat Kode Contoh.
Jika terjadi kesalahan "Unable to import module 'index'" saat fungsi dijalankan, periksa apakah penangan telah dikonfigurasi dengan benar dan apakah dependensi yang diperlukan telah diinstal. Untuk informasi lebih lanjut, lihat Instal dependensi pihak ketiga untuk fungsi.
Function Compute memungkinkan Anda menggunakan Serverless Devs untuk membangun, men-debug, dan menerapkan aplikasi. Untuk informasi lebih lanjut, lihat Kelola sumber daya fungsi menggunakan Serverless Devs.
Fungsi di Function Compute dapat dipicu langsung atau melalui acara. Untuk informasi lebih lanjut tentang fungsi yang dipicu oleh acara, lihat Ikhtisar Pemicu.