Men-deploy fungsi
Panduan ini menunjukkan cara men-deploy fungsi dari kode sumber menggunakan perintah gcloud functions
. Untuk mempelajari cara men-deploy fungsi menggunakan perintah gcloud run
, lihat Men-deploy fungsi Cloud Run menggunakan gcloud CLI.
Proses deployment mengambil kode sumber dan setelan konfigurasi Anda, serta membuat image yang dapat dijalankan yang dikelola fungsi Cloud Run secara otomatis untuk menangani permintaan ke fungsi Anda.
Dasar-dasar deployment
Untuk pengantar tentang jenis fungsi yang dapat Anda deploy, lihat Menulis fungsi Cloud Run.
Pengguna yang men-deploy fungsi harus memiliki peran IAM Developer Cloud Functions atau peran yang mencakup izin yang sama. Lihat juga Konfigurasi tambahan untuk deployment.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Gunakan perintah
gcloud functions deploy
untuk men-deploy fungsi:gcloud functions deploy YOUR_FUNCTION_NAME \ --region=YOUR_REGION \ --runtime=YOUR_RUNTIME \ --source=YOUR_SOURCE_LOCATION \ --entry-point=YOUR_CODE_ENTRYPOINT \ TRIGGER_FLAGS
Argumen pertama,
YOUR_FUNCTION_NAME
, adalah nama untuk fungsi yang di-deploy. Nama fungsi harus dimulai dengan huruf yang diikuti dengan maksimal 62 huruf, angka, tanda hubung, atau garis bawah, dan harus diakhiri dengan huruf atau angka. Nama layanan Cloud Run yang dibuat untuk fungsi Anda akan mengganti garis bawah dengan tanda hubung dan huruf besar akan dikonversi menjadi huruf kecil. Misalnya,Function_1
akan diberi namafunction-1
di Cloud Run.Flag
--region
menentukan region tempat men-deploy fungsi Anda. Lihat Lokasi untuk mengetahui daftar region yang didukung oleh Cloud Run.Flag
--runtime
menentukan runtime bahasa yang digunakan fungsi Anda. Lihat Dukungan runtime untuk mengetahui daftar ID runtime yang didukung.Flag
--source
menentukan lokasi kode sumber fungsi Anda.Flag
--entry-point
menentukan titik masuk ke fungsi Anda dalam kode sumber. Ini adalah kode yang akan dijalankan saat fungsi Anda berjalan. Nilai flag ini harus berupa nama fungsi atau nama class yang sepenuhnya memenuhi syarat yang ada dalam kode sumber Anda. Untuk informasi selengkapnya, lihat Titik entri fungsi.Untuk menentukan pemicu fungsi Anda, flag tambahan (ditunjukkan sebagai
TRIGGER_FLAGS
di atas) diperlukan, bergantung pada pemicu yang ingin Anda gunakan:Flag pemicu Deskripsi pemicu --trigger-http
Picu fungsi dengan permintaan HTTP(S). --trigger-topic=YOUR_PUBSUB_TOPIC
Picu fungsi saat pesan dipublikasikan ke topik Pub/Sub yang ditentukan. --trigger-bucket=YOUR_STORAGE_BUCKET
Memicu fungsi saat objek dibuat atau ditimpa di bucket Cloud Storage yang ditentukan. --trigger-event-filters=EVENTARC_EVENT_FILTERS
Memicu fungsi dengan Eventarc saat terjadi peristiwa yang cocok dengan filter yang ditentukan. Untuk referensi lengkap tentang perintah deployment dan flag-nya, lihat dokumentasi
gcloud functions deploy
.Untuk mengetahui detail selengkapnya tentang flag konfigurasi
gcloud functions deploy
, lihat dokumentasi Cloud Run.
Setelah deployment berhasil, fungsi akan muncul dengan tanda centang hijau di halaman ringkasan Cloud Run di konsolGoogle Cloud .
Deployment awal fungsi mungkin memerlukan waktu beberapa menit, sementara infrastruktur yang mendasarinya disiapkan. Deployment ulang fungsi yang ada akan lebih cepat, dan traffic yang masuk akan otomatis dimigrasikan ke versi terbaru.
URL endpoint HTTP
Saat Anda membuat fungsi dengan perintah gcloud functions
atau Cloud Functions v2 API, secara default, fungsi tersebut memiliki URL endpoint HTTP cloudfunctions.net
. Jika Anda mengambil fungsi ini dan men-deploy-nya di Cloud Run, fungsi Anda juga akan menerima URL endpoint HTTP run.app
. Namun, fungsi yang dibuat di Cloud Run tidak akan memiliki URL endpoint HTTP cloudfunctions.net
. URL cloudfunctions.net
dan URL run.app
fungsi berperilaku sama persis. Keduanya dapat dipertukarkan,
dan digunakan untuk memicu fungsi Anda.
Contoh Terraform
Untuk mengetahui contoh cara men-deploy fungsi menggunakan Terraform, lihat contoh HTTP Terraform dan contoh Pub/Sub Terraform.
Mengonfigurasi jaringan
Fungsi yang dibuat menggunakan Cloud Functions v2 API (misalnya, dengan menggunakan gcloud functions
, REST API, atau Terraform) dapat dikelola dengan Cloud Run Admin API serta Cloud Functions v2 API.
Untuk mempelajari lebih lanjut cara mengelola jaringan untuk fungsi, termasuk cara merutekan traffic jaringan VPC, lihat Praktik terbaik untuk jaringan Cloud Run.
Pelajari cara men-deploy fungsi Cloud Run di Cloud Run
Men-deploy fungsi di Cloud Run mirip dengan langkah-langkah yang dijelaskan dalam dokumen ini, tetapi dengan beberapa keuntungan tambahan:
- Anda dapat menggunakan konsol Google Cloud , serta gcloud CLI
(
gcloud run deploy
). - Langkah-langkah untuk menentukan pemicu sedikit berbeda. Untuk mempelajari lebih lanjut, lihat pemicu dan percobaan ulang serta contoh pemicu fungsi.
- Cloud Run menawarkan berbagai opsi konfigurasi yang lebih luas: