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. Nilaisecure-always
berarti HTTPS diperlukan dan permintaan HTTP non-SSL tidak didukung. Nilaisecure-optional
berarti HTTP dan HTTPS didukung. Defaultnya adalahsecure-always
.
Konsol
Jika men-deploy menggunakan konsol Google Cloud, Anda dapat mengonfigurasi pemicu HTTP di bagian Pemicu.
- Untuk Cloud Functions (generasi ke-2):
- 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):
- Pada kolom Jenis pemicu, pilih HTTP.
- 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.
- 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
Buka halaman ringkasan Cloud Functions di konsol Google Cloud:
Klik nama fungsi yang URL-nya ingin Anda ambil.
Klik tab Edit.
Lihat URL fungsi Anda di bagian Pemicu.
Langkah berikutnya
- Pelajari cara menulis fungsi HTTP.
- Pelajari cara men-deploy Cloud Function.
- Lihat tutorial fungsi HTTP untuk mengetahui contoh penulisan, deployment, dan pemanggilan fungsi HTTP.