All Products
Search
Document Center

Function Compute:Gunakan fcapp.run untuk menjalankan aplikasi RESTful

Last Updated:Jul 06, 2025

Function Compute menetapkan subdomain fcapp.run ke pemicu HTTP baru. Anda dapat menggunakan nama domain ini untuk mengakses aplikasi RESTful Anda. Topik ini menjelaskan cara menggunakan fcapp.run untuk mengakses aplikasi RESTful tanpa memodifikasi kode.

Latar Belakang

Function Compute mendukung pemicu HTTP, yang memungkinkan fungsi dipanggil melalui permintaan HTTP. Function Compute menggunakan komponen server API bersama untuk menanggapi pemanggilan pemicu HTTP. Saat memanggil suatu fungsi, jalur dalam URL digunakan untuk mengarahkan lalu lintas pelanggan ke kontainer fungsi milik pelanggan. Jalur permintaan HTTP yang diterima di dalam kontainer berisi pengenal rute dari Function Compute. Jika Anda menerapkan aplikasi RESTful di Function Compute, kesalahan 404 akan dilaporkan.

Awalnya, Function Compute menyediakan arsitektur RESTful asli di mana setiap fungsi berfungsi sebagai sumber daya independen. Dalam hal ini, setiap fungsi bertindak sebagai Operasi API untuk melaksanakan tugas tertentu. Jika suatu fungsi hanya sesuai dengan satu Operasi API, Anda tidak perlu menggunakan serangkaian logika perutean dalam kode fungsi untuk menanggapi permintaan dari jalur URL yang berbeda.

Function Compute telah memperkenalkan runtime kustom dan runtime Kontainer Kustom untuk fungsi. Anda dapat menjalankan aplikasi yang ada di Function Compute tanpa harus membagi aplikasi berdasarkan arsitektur yang direkomendasikan di Function Compute. Pengembang cenderung mengembangkan sejumlah besar operasi API RESTful dalam program. Logika perutean dalam-proses digunakan untuk meneruskan permintaan dari jalur yang berbeda sehingga permintaan tersebut diproses dengan metode yang berbeda.

Gunakan fcapp.run untuk memanggil fungsi

Function Compute menetapkan setiap pemicu HTTP yang baru dibuat dengan nama domain terpisah dalam format berikut: {random_string}.{region_id}.fcapp.run. Saat menggunakan nama domain untuk mengakses Function Compute, Function Compute merutekan lalu lintas berdasarkan nama domain dan meneruskan lalu lintas ke kontainer fungsi. Dengan cara ini, perutean tidak bergantung pada jalur, dan kode pelanggan tidak terpengaruh.

Catatan

Sebagai contoh, jika API /function1, /function2, dan /function3 dienkapsulasi dalam fungsi yang sesuai dengan pemicu HTTP, URL berikut dipanggil oleh fcapp.run:

  • {random_string}.{region_id}.fcapp.run/function1

  • {random_string}.{region_id}.fcapp.run/function2

  • {random_string}.{region_id}.fcapp.run/function3

Gunakan fcapp-test.run untuk men-debug halaman web pada mesin lokal

Domain root untuk Function Compute adalah aliyuncs.com, yang tidak dapat digunakan untuk menyediakan layanan situs web. Semua hasil permintaan fungsi diunduh sebagai lampiran di browser. Untuk fungsi halaman web, teks HTML dan kode JavaScript yang dikembalikan tidak dapat ditampilkan seperti yang diharapkan. Dalam hal ini, Anda dapat menyelesaikan masalah ini dengan mengikat nama domain kustom yang telah memperoleh pengisian ICP untuk fungsi tersebut. Untuk informasi lebih lanjut, lihat Ikhtisar.

Anda juga dapat menyelesaikan masalah di atas dengan menggunakan domain uji fcapp-test.run dan menambahkan entri resolusi domain ke file hosts. Kemudian, hasil permintaan tidak lagi diunduh sebagai lampiran dan Anda dapat melakukan debugging pada halaman web seperti yang diharapkan. Contoh kode berikut memberikan contoh skrip:

# 1. Dapatkan nama domain fcapp.run dari halaman.
FC_DOMAIN='serviceName-functionName-vtnazzbxrr.cn-hangzhou.fcapp.run'
FC_TEST_DOMAIN=`echo ${FC_DOMAIN} | sed 's/fcapp.run/fcapp-test.run/g'`
echo "Nama domain Function Compute: ${FC_DOMAIN}"
echo "Nama domain uji Function Compute: ${FC_TEST_DOMAIN}"

# 2. Periksa alamat IP yang diperoleh setelah resolusi nama domain.
FC_IP=`ping ${FC_DOMAIN} -c 1 | HEAD -1 | awk '{print $3}' | sed 's/[():]//g'`
echo "IP FC: ${FC_IP}"

# 3. Ubah file hosts untuk menyelesaikan nama domain uji ke alamat IP untuk fcapp.run.
# Jika Anda tidak memiliki izin, Anda perlu menambahkan konten secara manual.
sudo -- sh -c  "printf '\n${FC_IP} ${FC_TEST_DOMAIN}\n' >> /etc/hosts"
cat /etc/hosts

# 4. Gunakan nama domain uji untuk mengakses fungsi di browser.
curl -v "${FC_TEST_DOMAIN}"
            

Gunakan Function Compute untuk menjalankan gambar WordPress

Function Compute memungkinkan Anda memigrasikan aplikasi RESTful Anda tanpa memodifikasi kode. Dalam bagian ini, aplikasi WordPress dimigrasikan.

Sebelum Anda mulai

Prosedur

  1. Masuk ke Konsol Manajemen Function Compute. Di bilah navigasi di sebelah kiri, klik Services & Functions.

  2. Di bilah navigasi atas, pilih wilayah. Di halaman Services, klik layanan yang diinginkan.

  3. Di halaman Functions, klik Create Function dan pilih Use Container Image. Konfigurasikan parameter dan klik Create.

    Pilih gambar WordPress dan atur Listening Port ke 80. Untuk informasi lebih lanjut, lihat Buat fungsi Custom Container.

    image.png

  4. Ubah konfigurasi fungsi dan injeksikan konfigurasi database ke dalam kontainer fungsi dalam bentuk variabel lingkungan.

    Untuk informasi lebih lanjut tentang cara mengonfigurasi variabel lingkungan, lihat Variabel lingkungan.

    image.png

    Pemetaan antara variabel lingkungan dan konfigurasi database adalah sebagai berikut:

    • WORDPRESS_DB_HOST: titik akhir internal dari database yang Anda buat untuk instance ApsaraDB RDS for MySQL.

    • WORDPRESS_DB_NAME: akun database yang Anda buat.

    • WORDPRESS_DB_PASSWORD: kata sandi dari akun database yang Anda buat.

    • WORDPRESS_DB_USER: Nama database yang Anda buat.

  5. Masukkan nama domain yang ditetapkan oleh Function Compute ke pemicu HTTP di bilah alamat browser untuk menguji fungsi tersebut.

    Setelah fungsi dibuat, Function Compute secara otomatis membuat pemicu HTTP. Anda dapat memperoleh nama domain dari konfigurasi pemicu. API yang sesuai dengan aplikasi WordPress dipanggil menggunakan nama domain sebagai jalur root.

    Klik alamat berikut sebelum Anda menggunakannya untuk pengujian. Di panel yang muncul, klik untuk mengunduh skrip konfigurasi yang sesuai dengan sistem lokal dan jalankan skrip tersebut. Anda hanya dapat mengakses alamat melalui browser setelah menjalankan skrip.

    image.png

    image.png

Referensi