全部产品
Search
文档中心

Function Compute:Apa yang harus saya lakukan jika terjadi kesalahan 404 saat saya menggunakan browser atau alat cURL untuk mengakses suatu fungsi?

更新时间:Aug 20, 2025

Gejala

Saya membuat fungsi HTTP untuk waktu proses kontainer kustom. Nama layanannya adalah CustomDemo, dan nama fungsinya adalah func-http. Pemicu HTTP anonim telah ditentukan. Contoh kode routing berikut dapat digunakan untuk mengimplementasikan server HTTP dari waktu proses kontainer kustom:

@app.route('/test', methods = ['POST','GET'])
def test():
Ketika saya menggunakan alat cURL atau browser untuk mengakses URL fungsi HTTP, kode kesalahan 404 dikembalikan.
  • Gunakan alat cURL untuk mengakses fungsi HTTP.
    curl  -v  https://164901546557****.cn-hangzhou.fc.aliyuncs.com/2016-08-15/proxy/CustomDemo/func-http/test
  • Gunakan browser untuk mengakses fungsi HTTP.
    https://164901546557****.cn-hangzhou.fc.aliyuncs.com/2016-08-15/proxy/CustomDemo/func-http/test
    Catatan URL fungsi HTTP memiliki format berikut: https://<account_id>.<region_id>.fc.aliyuncs.com/<version>/proxy/<serviceName>/<functionName>/<path>.

Solusi

Anda dapat menyelesaikan masalah ini dengan salah satu metode berikut:
  • Akses fungsi menggunakan subdomain yang ditetapkan oleh Function Compute untuk pemicu HTTP baru. Untuk informasi lebih lanjut, lihat Langkah 3: Uji fungsi.

    Format subdomain:

    https://<subdomain>.<region_id>.fcapp.run/[action?queries] 

    Contoh kode:

    https://funcname-svcname-khljsjksld.cn-shanghai.fcapp.run/action?hello=world
  • Tambahkan header bernama x-fc-invocation-target ke perintah yang digunakan untuk mengakses fungsi. Sintaksis perintah:
    curl -v -H "x-fc-invocation-target: 2016-08-15/proxy/$ServiceName/$functionName" https://<account_id>.<region_id>.fc.aliyuncs.com/$path
    Contoh kode:
    curl -v -H "x-fc-invocation-target: 2016-08-15/proxy/CustomDemo/func-http" https://164901546557****.cn-hangzhou.fc.aliyuncs.com/test
  • Hubungkan nama domain kustom ke fungsi. Kemudian, jalankan perintah berikut untuk mengakses fungsi lagi. Untuk informasi lebih lanjut tentang cara menghubungkan nama domain, lihat Konfigurasi nama domain kustom.
    Sebagai contoh, jika nama domain adalah example.com, sintaksis perintah berikut digunakan:
    curl -v  https://example.com/$path
    Contoh kode:
    curl -v  https://example.com/test
    Penting Ganti /$path dengan path dari mana permintaan dapat memicu fungsi dalam layanan. Path tersebut dikonfigurasi saat Anda menghubungkan nama domain kustom. Untuk informasi lebih lanjut, lihat Aturan pencocokan rute.
  • Modifikasi kode fungsi Anda dan sebarkan fungsi tersebut. Kemudian, gunakan URL default untuk mengakses fungsi. Contoh berikut menunjukkan kode yang telah dimodifikasi:
    @app.route('/2016-08-15/proxy/CustomDemo/func-http/test', methods = ['POST','GET'])
    def test():
    Contoh kode:
    curl  -v  https://164901546557****.cn-hangzhou.fc.aliyuncs.com/2016-08-15/proxy/CustomDemo/func-http/test