Pemicu HTTP

Di Cloud Functions, pemicu HTTP memungkinkan fungsi berjalan sebagai respons terhadap permintaan HTTP(S). Saat Anda menentukan pemicu HTTP untuk suatu fungsi, fungsi tersebut akan diberi URL yang dapat digunakan untuk menerima permintaan. Pemicu HTTP mendukung metode permintaan GET, POST, PUT, DELETE, dan OPTIONS.

Di Cloud Functions (generasi ke-2), permintaan ke URL fungsi selalu memerlukan HTTPS. Di Cloud Functions (generasi ke-1), Anda dapat memilih apakah HTTPS diperlukan selama deployment.

Secara default, permintaan ke fungsi dengan pemicu HTTP memerlukan autentikasi. Anda dapat memilih untuk mengizinkan panggilan yang tidak diautentikasi selama deployment. Lihat Mengizinkan pemanggilan fungsi HTTP yang tidak diautentikasi untuk mengetahui informasi selengkapnya.

Anda menggunakan fungsi HTTP untuk mengimplementasikan Cloud Functions yang dapat menangani permintaan HTTP(S) umum.

Deployment

Anda dapat menentukan pemicu HTTP saat men-deploy fungsi. Lihat Men-deploy Cloud Function untuk mengetahui petunjuk umum tentang cara men-deploy fungsi, dan bagian ini untuk mengetahui informasi tambahan khusus terkait cara mengonfigurasi pemicu HTTP selama deployment.

gcloud

Jika Anda men-deploy menggunakan gcloud CLI, flag yang ditampilkan di sini digunakan untuk mengonfigurasi pemicu HTTP:

gcloud functions deploy YOUR_FUNCTION_NAME \
--trigger-http \
[--allow-unauthenticated] \
[--security-level=SECURITY_LEVEL] \
...
  • Flag --trigger-http menentukan bahwa fungsi tersebut menggunakan pemicu HTTP.
  • Flag --allow-unauthenticated menentukan bahwa fungsi dapat dipanggil tanpa autentikasi. Menghapus flag ini berarti bahwa panggilan ke fungsi tersebut memerlukan autentikasi, yang merupakan setelan default. Lihat Mengautentikasi untuk pemanggilan untuk informasi selengkapnya.
  • (generasi ke-1) Flag --security-level mengontrol apakah endpoint fungsi memerlukan HTTPS. Nilai secure-always berarti HTTPS diperlukan dan permintaan HTTP non-SSL tidak didukung. Nilai secure-optional berarti HTTP dan HTTPS didukung. Defaultnya adalah secure-always.

Konsol

Jika men-deploy menggunakan konsol Google Cloud, Anda dapat mengonfigurasi pemicu HTTP di bagian Pemicu.

  • Untuk Cloud Functions (generasi ke-2):
    1. Di bagian HTTPS, pada kolom Authentication, pilih opsi bergantung pada apakah Anda ingin mengizinkan pemanggilan fungsi yang tidak terautentikasi atau tidak. Secara default, autentikasi diwajibkan. Lihat Mengautentikasi untuk pemanggilan untuk informasi selengkapnya.
  • Untuk Cloud Functions (generasi ke-1):
    1. Pada kolom Jenis pemicu, pilih HTTP.
    2. Di kolom Autentikasi, pilih opsi bergantung pada apakah Anda ingin mengizinkan pemanggilan fungsi yang tidak diautentikasi. Secara default, autentikasi diwajibkan. Lihat Mengautentikasi untuk pemanggilan untuk informasi selengkapnya.
    3. Centang atau hapus centang pada kotak Wajibkan HTTPS untuk mengontrol apakah endpoint fungsi memerlukan HTTPS. Jika tidak dipilih, HTTP dan HTTPS akan didukung.

URL Fungsi

Setelah fungsi di-deploy dengan pemicu HTTP, Anda dapat mengambil URL yang ditetapkan.

Fungsi generasi ke-1 dan generasi ke-2 telah menetapkan URL dengan format berikut. URL ini memiliki format deterministik, yang berarti Anda dapat memprediksi URL sebelum men-deploy fungsi:

https://REGION-PROJECT_ID.cloudfunctions.net/FUNCTION_NAME

Fungsi generasi ke-2 juga memiliki URL yang ditetapkan yang terkait dengan layanan Cloud Run yang mendasarinya. URL ini tidak memiliki format yang deterministik, yang berarti bahwa karena kolom kedua adalah hash acak, Anda tidak dapat memprediksi URL-nya sebelum menerapkan fungsi. Akan tetapi, setelah fungsi ini di-deploy, URL akan tetap stabil:

https://FUNCTION_NAME-RANDOM_HASH-REGION.a.run.app

URL cloudfunctions.net dan URL run.app dari fungsi generasi ke-2 akan berperilaku sama persis. URL ini dapat dipertukarkan.

Anda dapat mengambil URL fungsi sebagai berikut:

gcloud

  • Untuk Cloud Functions (generasi ke-2):

    gcloud functions describe YOUR_FUNCTION_NAME \
    --gen2 \
    --region=YOUR_FUNCTION_REGION \
    --format="value(serviceConfig.uri)"
    
  • Untuk Cloud Functions (generasi ke-1):

    gcloud functions describe YOUR_FUNCTION_NAME \
    --format="value(httpsTrigger.url)"
    

Konsol

  1. Buka halaman ringkasan Cloud Functions di konsol Google Cloud:

    Buka Cloud Functions

  2. Klik nama fungsi yang URL-nya ingin Anda ambil.

  3. Klik tab Edit.

  4. Lihat URL fungsi Anda di bagian Pemicu.

Langkah berikutnya