Traffine I/O

Bahasa Indonesia

2022-07-02

Mendeploy Cloud Functions dengan gcloud

Pendahuluan

Terdapat beberapa cara untuk mendeploy Cloud Functions, antara lain:

  • Menggunakan GCP Console
  • Menggunakan gcloud CLI
  • Menggunakan Cloud Functions API

Dalam artikel ini, saya akan fokus pada cara mendeploy Cloud Functions menggunakan perintah gcloud.

Perintah gcloud

Anda dapat menggunakan perintah gcloud functions deploy untuk mendeploy Cloud Functions.

bash
$ gcloud functions deploy NAMA_FUNGSI_ANDA \
  [--gen2] \
  --region=REGION_ANDA \
  --runtime=RUNTIME_ANDA \
  --source=LOKASI_SOURCE_ANDA \
  --entry-point=ENTRY_POINT_KODE_ANDA
  • NAMA_FUNGSI_ANDA
    Nama fungsi yang akan didedeploy. Nama fungsi dapat menggunakan huruf kecil, angka, tanda hubung, dan garis bawah.

  • --gen2
    Tentukan untuk didedeploy ke Cloud Functions (Generasi 2). Jika flag ini tidak dimasukkan, maka akan didedeploy ke Cloud Functions (Generasi 1).

  • --region
    Wilayah di mana fungsi akan didedeploy.

  • --runtime
    Runtime bahasa yang digunakan oleh fungsi.

  • --source
    Lokasi kode sumber fungsi.

  • --entry-point
    Titik masuk (nama fungsi) dalam kode sumber.

Contoh Perintah

Berikut beberapa contoh penggunaan perintah.

Mendeploy fungsi HTTP dari kode sumber lokal

Misalkan Anda memiliki fungsi HTTP:

  • Menggunakan Node.js 16.
  • Kode sumber berada di direktori kerja saat ini (.).
  • Titik masuk kode adalah myHttpFunction.

Untuk mendeploy fungsi ke Cloud Functions (Generasi 2) dengan nama my-http-function di wilayah us-central1 dan memicu fungsi dengan pemicu HTTP, gunakan perintah berikut:

bash
$ gcloud functions deploy my-http-function \
  --gen2 \
  --region=us-central1 \
  --runtime=nodejs16 \
  --source=. \
  --entry-point=myHttpFunction \
  --trigger-http

Mendeploy fungsi Pub/Sub dari kode sumber di Cloud Storage

Misalkan Anda memiliki fungsi yang dipicu oleh peristiwa:

  • Menangani peristiwa publikasi pesan Pub/Sub.
  • Menggunakan Python 3.9.
  • Kode sumber berada di jalur Cloud Storage gs://my-bucket/my_function_source.zip.
  • Titik masuk kode adalah pubsub_handler.

Untuk mendeploy fungsi ke Cloud Functions (Generasi 2) dengan nama my-pubsub-function di wilayah europe-west1 dan memicu fungsi dengan topik Pub/Sub my-topic, gunakan perintah berikut:

bash
$ gcloud functions deploy my-pubsub-function \
  --gen2 \
  --region=europe-west1 \
  --runtime=python39 \
  --source=gs://my-bucket/my_function_source.zip \
  --entry-point=pubsub_handler \
  --trigger-topic=my-topic

Mendeploy fungsi Cloud Storage dari kode sumber lokal

Misalkan Anda memiliki fungsi yang dipicu oleh peristiwa:

  • Menangani peristiwa penghapusan objek Cloud Storage.
  • Menggunakan Java 11.
  • Kode sumber berada di jalur lokal ./functions/storage-function.
  • Titik masuk kode adalah myproject.StorageFunction.

Untuk mendeploy fungsi ke Cloud Functions (Generasi 2) dengan nama my-storage-function di wilayah asia-northeast1 dan memicu fungsi dengan peristiwa pada bucket Cloud Storage my-bucket, gunakan perintah berikut:

bash
$ gcloud functions deploy my-storage-function \
  --gen2 \
  --region=asia-northeast1 \
  --runtime=java11 \
  --source=./functions/storage-function \
  --entry-point=myproject.StorageFunction \
  --trigger-event-filters="type=google.cloud.storage.object.v1.deleted" \
  --trigger-event-filters="bucket=my-bucket"

Referensi

https://cloud.google.com/functions/docs/deploy#from-inline-editor

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!