Go adalah bahasa terkompilasi statis dan tidak mendukung pengeditan kode secara langsung di Function Compute. Anda harus mengompilasi aplikasi secara lokal dan mengemasnya ke dalam file .zip. Topik ini menjelaskan cara mengemas aplikasi Anda bersama Function Compute ke dalam file .zip dan mengunggahnya ke Function Compute.
Prasyarat
Instal lingkungan pengembangan Go. Function Compute mendukung Go 1.x. Gunakan Go 1.8 atau versi yang lebih baru.
Kompilasi dan pengemasan di Linux atau macOS
Unduh Function Compute SDK untuk Go.
go get github.com/aliyun/fc-runtime-go-sdk/fcBuat file kode, misalnya
main.go. Di direktorinya, jalankan perintah berikut untuk membuat file biner.GOOS=linux go build main.goCatatanmain.goadalah contoh nama file. Ganti dengan nama file aktual Anda.Setelah proses build selesai, file biner dengan nama yang sama dengan file sumber akan dihasilkan di direktori saat ini.
Tetapkan variabel lingkungan
GOOS=linuxuntuk memastikan bahwa file biner yang dikompilasi kompatibel dengan waktu proses Function Compute berbasis Linux. Langkah ini sangat penting saat melakukan kompilasi pada sistem operasi non-Linux.Catatan tambahan:
Di Linux, buat file biner yang ditautkan secara statis dengan menyetel
CGO_ENABLED=0. Ini memastikan file biner tidak memiliki dependensi eksternal, seperti pustakalibc, sehingga mencegah masalah kompatibilitas antara lingkungan build Anda dan waktu proses Go. Contoh:GOOS=linux CGO_ENABLED=0 go build main.goSaat melakukan kompilasi pada mesin berbasis ARM, seperti Mac dengan chip M1, tetapkan
GOARCH=amd64untuk melakukan cross-compile ke arsitektur x86-64 yang digunakan oleh Function Compute. Contoh:GOOS=linux GOARCH=amd64 go build main.go
Kompres file biner dari langkah sebelumnya ke dalam format zip.
zip fc-golang-demo.zip main
Kompilasi dan pengemasan di Windows
Buat file kode, seperti
main.go, dan ikuti langkah-langkah berikut untuk membuat file biner.Tekan Win+R untuk membuka kotak dialog Run.
Ketik cmd lalu tekan Enter untuk membuka Command Prompt. Kemudian, jalankan perintah berikut.
set GOOS=linux set GOARCH=amd64 go build -o main main.goCatatanmain.goadalah contoh nama file. Ganti dengan nama file aktual Anda.Setelah proses build selesai, file biner dengan nama yang sama dengan file sumber akan dihasilkan di direktori saat ini.
Gunakan tool build-fc-zip untuk mengemas file biner dari langkah sebelumnya.
Instal tool build-fc-zip dengan perintah go install.
set GOOS=windows set GOARCH=amd64 go install github.com/aliyun/fc-runtime-go-sdk/cmd/build-fc-zip@latestPerintah go install biasanya menginstal tool tersebut ke direktori %USERPROFILE%\go\bin.
Di direktori root proyek Anda, jalankan perintah berikut untuk mengemas kode.
%USERPROFILE%\go\bin\build-fc-zip.exe -output main.zip main
Buat fungsi dan konfigurasikan handler
Buat fungsi yang dipicu oleh event. Untuk Runtime, pilih Go 1.
Unggah paket kode Anda dan konfigurasikan handler fungsi tersebut. Untuk informasi selengkapnya, lihat Buat fungsi event.
Go adalah bahasa terkompilasi. Anda harus mengompilasi kode secara lokal dan mengunggah file biner yang dapat dieksekusi sebagai paket ZIP. Pada konfigurasi Handler di Function Compute console, Handler untuk fungsi Go FC harus diatur langsung ke
[filename]. Nama file ini adalah nama file biner hasil kompilasi. Saat fungsi dipanggil, platform Function Compute akan langsung mengeksekusi file biner tersebut.Jika file biner berada di direktori root paket .zip, atur Handler untuk FC menjadi
main.
Jika file biner berada di subdirektori, seperti bin/, atur Handler ke path relatifnya, misalnya
bin/main.