Men-deploy fungsi Cloud Run (generasi ke-1)
Panduan ini menunjukkan cara men-deploy fungsi Cloud Run generasi ke-1 lama dari kode sumber. Jika Anda membuat fungsi baru, lihat Panduan Memulai Konsol di Cloud Run.
Proses deployment mengambil kode sumber dan setelan konfigurasi Anda, serta membangun image yang dapat dijalankan yang dikelola Cloud Run Functions secara otomatis untuk menangani permintaan ke fungsi Anda.
Dasar-dasar deployment
Pengguna yang men-deploy fungsi Cloud Run harus memiliki peran IAM Cloud Run Functions Developer atau peran yang mencakup izin yang sama. Lihat juga Konfigurasi tambahan untuk deployment.
Deploy fungsi menggunakan gcloud CLI sebagai berikut:
Gunakan perintah
gcloud functions deployuntuk men-deploy fungsi:gcloud functions deploy YOUR_FUNCTION_NAME \ [--gen2] \ --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 harus dimulai dengan huruf yang diikuti dengan maksimal 62 huruf, angka, tanda hubung, atau garis bawah dan harus diakhiri dengan huruf atau angka.Flag
--gen2menentukan bahwa Anda ingin men-deploy ke Cloud Run Functions. Mulai September 2024, setelan ini akan menjadi setelan default. Untuk men-deploy ke generasi ke-1, gunakan--no-gen2.Flag
--regionmenentukan region tempat men-deploy fungsi Anda. Buka Lokasi untuk mengetahui daftar region yang didukung oleh Cloud Run Functions.Flag
--runtimemenentukan runtime bahasa yang digunakan fungsi Anda. Cloud Run Functions mendukung beberapa runtime. Lihat Runtime untuk mengetahui informasi lebih lanjut.Flag
--sourcemenentukan lokasi kode sumber fungsi Anda. Lihat bagian berikut untuk mengetahui detailnya:Flag
--entry-pointmenentukan titik entri ke fungsi Anda dalam kode sumber. Titik entri ini adalah kode yang akan dieksekusi saat fungsi Anda berjalan. Nilai flag ini harus berupa nama fungsi atau nama class yang sepenuhnya memenuhi syarat, yang ada dalam kode sumber Anda. Lihat Titik entri fungsi untuk informasi selengkapnya.Untuk menentukan pemicu fungsi Anda, flag tambahan (ditunjukkan sebagai
TRIGGER_FLAGSdi atas) diperlukan, tergantung pada pemicu yang ingin Anda gunakan:Flag pemicu Deskripsi pemicu --trigger-httpMemicu fungsi dengan permintaan HTTP(S). Lihat pemicu HTTP untuk informasi selengkapnya. --trigger-topic=YOUR_PUBSUB_TOPICMemicu fungsi saat pesan dipublikasikan ke topik Pub/Sub yang ditentukan. Lihat pemicu Pub/Sub untuk informasi selengkapnya. --trigger-bucket=YOUR_STORAGE_BUCKETMemicu fungsi saat objek dibuat atau ditimpa di bucket Cloud Storage yang ditentukan. Lihat Pemicu Cloud Storage untuk mengetahui informasi selengkapnya. --trigger-event=EVENT_TYPE
[--trigger-resource=RESOURCE]Memicu fungsi saat peristiwa yang ditentukan terjadi. Penentuan resource diperlukan untuk beberapa jenis peristiwa. Lihat Pemicu yang didukung di Cloud Run Functions (generasi ke-1) untuk mengetahui informasi selengkapnya. Secara opsional, Anda dapat menentukan opsi konfigurasi, jaringan, dan keamanan tambahan saat men-deploy fungsi.
Untuk referensi lengkap tentang perintah deployment dan flag-nya, lihat dokumentasi
gcloud functions deploy.Untuk mengetahui beberapa contoh perintah deployment, lihat Contoh command line.
Men-deploy dari komputer lokal
Bagian ini menjelaskan cara menggunakan gcloud CLI untuk men-deploy fungsi dari kode sumber yang berada di komputer lokal Anda.
-
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.
Ikuti petunjuk deployment di atas menggunakan perintah
gcloud functions deploy.Untuk flag
--source, tentukan jalur sistem file lokal ke direktori root kode sumber fungsi. Lihat Struktur direktori sumber. Direktori kerja saat ini digunakan jika flag ini dihilangkan.Anda juga dapat menggunakan flag
--stage-bucketsecara opsional untuk menentukan bucket Cloud Storage yang akan menjadi tujuan upload kode sumber sebagai bagian dari deployment.Selama proses upload kode sumber, Cloud Run Functions mengecualikan file yang tidak diperlukan melalui file
.gcloudignore.-
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.
Ikuti petunjuk deployment di atas menggunakan perintah
gcloud functions deploy.Untuk flag
--source, tentukan jalur Cloud Storage, dimulai dengangs://. Objek di jalur tersebut harus berupa file ZIP yang berisi kode sumber fungsi. File sumber fungsi Anda harus berada di root file ZIP. Lihat Struktur direktori sumber.- Fungsi ini menggunakan Node.js 22.
- Kode sumber berada di direktori kerja saat ini (
.). - Titik entri dalam kode diberi nama
myHttpFunction. - Fungsi ini menangani peristiwa publikasi pesan Pub/Sub.
- Fungsi ini menggunakan Python 3.12.
- Kode sumber berada di Cloud Storage di jalur
gs://my-bucket/my_function_source.zip. - Titik entri dalam kode diberi nama
pubsub_handler. - Fungsi ini menangani peristiwa penghapusan objek Cloud Storage.
- Fungsi ini menggunakan Java 17.
- Kode sumber disimpan secara lokal di jalur
./functions/storage-function. - Titik entri dalam kode diberi nama
myproject.StorageFunction. - Lihat detail tentang pemicu Cloud Run Functions.
- Pelajari proses build Cloud Run Functions.
- Pelajari opsi konfigurasi tambahan Cloud Run Functions.
- Pelajari cara mengamankan Cloud Run Functions.
Men-deploy dari Cloud Storage
Bagian ini menjelaskan cara menggunakan gcloud CLI untuk men-deploy fungsi dari kode sumber yang berada di bucket Cloud Storage. Kode sumber harus dikemas sebagai file ZIP.
Agar Cloud Run Functions dapat membaca dari bucket Cloud Storage, Anda harus memberikan
izin storage.objects.get ke akun yang melakukan deployment.
Lihat artikel Menggunakan izin IAM dalam dokumentasi Cloud Storage untuk mendapatkan informasi tentang cara mengontrol akses ke bucket.
Dengan izin ini, Anda sekarang dapat men-deploy fungsi dari Cloud Storage:
Contoh command line
Bagian ini menampilkan perintah deployment untuk beberapa contoh skenario deployment.
Untuk mengetahui detail tentang berbagai pemicu yang didukung Cloud Run Functions, lihat Pemicu Cloud Run Functions.
Fungsi HTTP dari kode sumber lokal
Misalkan Anda memiliki fungsi HTTP sebagai berikut:
Untuk men-deploy fungsi ini ke Cloud Run Functions dengan nama
my-http-function di region us-central1, gunakan perintah berikut:
gcloud functions deploy my-http-function \
--no-gen2 \
--region=us-central1 \
--runtime=nodejs22 \
--source=. \
--entry-point=myHttpFunction \
--trigger-http
Fungsi Pub/Sub dari kode sumber di Cloud Storage
Misalkan Anda memiliki fungsi berbasis peristiwa sebagai berikut:
Untuk men-deploy fungsi ini ke Cloud Run Functions dengan nama
my-pubsub-function di region europe-west1, dan membuat fungsi tersebut
dipicu oleh pesan pada topik Pub/Sub my-topic, Anda menggunakan
perintah berikut:
gcloud functions deploy my-pubsub-function \
--no-gen2 \
--region=europe-west1 \
--runtime=python312 \
--source=gs://my-bucket/my_function_source.zip \
--entry-point=pubsub_handler \
--trigger-topic=my-topic
Fungsi Cloud Storage dari kode sumber lokal
Misalkan Anda memiliki fungsi berbasis peristiwa sebagai berikut:
Untuk men-deploy fungsi ini ke Cloud Run Functions dengan nama
my-storage-function di region asia-northeast1, dan membuat fungsi tersebut
dipicu oleh peristiwa di bucket Cloud Storage my-bucket, gunakan
perintah berikut:
gcloud functions deploy my-storage-function \
--no-gen2 \
--region=asia-northeast1 \
--runtime=java17 \
--source=./functions/storage-function \
--entry-point=myproject.StorageFunction \
--trigger-resource=gs://my-bucket \
--trigger-event=google.storage.object.delete