Cloud Run Functions mendukung beberapa metode untuk menjalankan fungsi Anda di luar lingkungan deployment target. Hal ini sangat berguna untuk pengembangan iteratif, dan untuk situasi ketika Anda ingin menguji fungsi sebelum melakukan deployment.
Kemampuan untuk menjalankan fungsi tanpa men-deploy-nya dapat menyederhanakan pengujian lokal, kepatuhan terhadap pembatasan lokalitas data, dan deployment multicloud:
Pembatasan lokalitas data: Uji fungsi Anda secara lokal tanpa mengakses data produksi, untuk menghindari pelanggaran aturan lokalitas data organisasi Anda.
Deployment multicloud: Deployment fungsi multicloud adalah pola yang sudah mapan untuk memitigasi risiko waktu non-operasional di lingkungan yang sangat mendukung keandalan. Men-deploy fungsi ke lingkungan selain Cloud Run Functions itu sendiri dapat mengurangi risiko aplikasi mengalami waktu non-operasional yang tidak direncanakan.
Mengembangkan fungsi secara lokal menggunakan Functions Framework
Anda dapat mengembangkan dan menguji fungsi secara lokal menggunakan Functions Framework. Mengembangkan fungsi secara lokal dapat membantu Anda menguji kode tanpa harus membangun ulang container fungsi. Hal ini dapat menghemat waktu dan mempermudah pengujian fungsi Anda.
Cloud Run menggunakan library Functions Framework open source untuk menggabungkan fungsi yang di-deploy ke dalam aplikasi HTTP persisten.
Functions Framework juga dapat berjalan di platform lain yang mendukung bahasa itu sendiri, termasuk komputer lokal Anda, server lokal, dan Compute Engine.
Menginstal dependensi
Di direktori fungsi, instal library Functions Framework untuk bahasa Anda:
Node.js
npm install --save-dev @google-cloud/functions-framework
Python
pip3 install functions-framework
Go
go install github.com/GoogleCloudPlatform/functions-framework-go/funcframework
Java
Maven
Jika Anda menggunakan Maven, tambahkan
kode berikut ke file pom.xml:
Gradle
Jika Anda menggunakan Gradle, tambahkan kode berikut ke
file build.gradle:
Lihat library Functions Framework Java untuk mengetahui informasi selengkapnya.
C#
Perintah berikut menggunakan Template .NET untuk membuat codebase fungsi .NET baru dengan library.NET Functions Framework sebagai dependensi:
# HTTP functions dotnet new gcf-http # CloudEvent functions dotnet new gcf-event
Ruby
Di Ruby, Functions Framework harus ditambahkan ke dependensi fungsi Anda untuk men-deploy-nya ke Cloud Run:
bundle add functions_framework
PHP
composer require google/cloud-functions-framework
Mengonfigurasi Functions Framework
Sebelum menjalankan fungsi menggunakan Functions Framework, pertama-tama Anda harus menentukan jenis dan nama fungsi yang ingin dijalankan. Atribut ini dapat ditentukan sebagai flag antarmuka command line (CLI) atau sebagai variabel lingkungan.
Jenis fungsi yang didukung
Functions Framework mendukung kedua jenis fungsi
yang didukung oleh Cloud Run Functions. Semua runtime bahasa
mendukung jenis tanda tangan http dan cloudevent.
| Jenis fungsi | Jenis tanda tangan | Deskripsi | Mendukung Runtime |
|---|---|---|---|
| Fungsi yang dipicu HTTP |
http
|
Fungsi yang menerima dan merespons permintaan HTTP. | Semua runtime |
| Fungsi berbasis peristiwa |
cloudevent
|
Format peristiwa standar industri. | Semua runtime |
Menentukan fungsi yang akan dijalankan
Sebelum menjalankan fungsi dengan Functions Framework, Anda harus terlebih dahulu menentukan fungsi mana dalam kode Anda yang akan dijalankan. Untuk sebagian besar bahasa, Anda dapat melakukannya dengan menentukan nama metode fungsi target seperti yang ditunjukkan pada tabel berikut. Perhatikan bahwa ada pengecualian untuk aturan ini untuk runtime Java dan .NET.