Pemicu Firebase Remote Config
Fungsi Cloud Run dapat dipicu sebagai respons terhadap perubahan Firebase Remote Config dalam project Google Cloud yang sama dengan fungsi. Hal ini memungkinkan Anda mengubah perilaku dan tampilan aplikasi tanpa memublikasikan update aplikasi.
Jenis peristiwa
Firebase Remote Config dapat memicu fungsi sebagai respons terhadap
peristiwa remoteconfig.update.
| Jenis Peristiwa | Pemicu |
|---|---|
remoteconfig.update |
Dipicu saat template remote config diupdate. |
Struktur peristiwa
Data peristiwa disediakan sebagai objek remoteConfig yang ditransformasi.
Contoh:
{ "updateType": "FORCED_UPDATE", "updateOrigin": "CONSOLE", "versionNumber": 1 }
Kode contoh
Node.js
Python
Go
Java
C#
using CloudNative.CloudEvents; using Google.Cloud.Functions.Framework; using Google.Events.Protobuf.Firebase.RemoteConfig.V1; using Microsoft.Extensions.Logging; using System.Threading; using System.Threading.Tasks; namespace FirebaseRemoteConfig; public class Function : ICloudEventFunction<RemoteConfigEventData> { private readonly ILogger _logger; public Function(ILogger<Function> logger) => _logger = logger; public Task HandleAsync(CloudEvent cloudEvent, RemoteConfigEventData data, CancellationToken cancellationToken) { _logger.LogInformation("Update type: {origin}", data.UpdateType); _logger.LogInformation("Update origin: {origin}", data.UpdateOrigin); _logger.LogInformation("Version number: {version}", data.VersionNumber); // In this example, we don't need to perform any asynchronous operations, so the // method doesn't need to be declared async. return Task.CompletedTask; } }
Ruby
PHP
use Google\CloudFunctions\CloudEvent; function firebaseRemoteConfig(CloudEvent $cloudevent) { $log = fopen(getenv('LOGGER_OUTPUT') ?: 'php://stderr', 'wb'); $data = $cloudevent->getData(); fwrite($log, 'Update type: ' . $data['updateType'] . PHP_EOL); fwrite($log, 'Origin: ' . $data['updateOrigin'] . PHP_EOL); fwrite($log, 'Version: ' . $data['versionNumber'] . PHP_EOL); }
Men-deploy fungsi Anda
Untuk men-deploy fungsi, Anda perlu menentukan jenis peristiwa google.firebase.remoteconfig.update.
Perintah gcloud berikut men-deploy fungsi yang dipicu
oleh peristiwa Firebase Remote Config:
gcloud functions deploy FUNCTION_NAME \ --no-gen2 \ --entry-point ENTRY_POINT \ --trigger-event google.firebase.remoteconfig.update \ --runtime RUNTIME
| Argumen | Deskripsi |
|---|---|
FUNCTION_NAME |
Nama fungsi Cloud Run yang terdaftar, yang sedang Anda deploy.
Nama ini dapat berupa nama fungsi dalam
kode sumber Anda, atau string arbitrer. Jika FUNCTION_NAME adalah
string arbitrer, Anda harus menyertakan flag
--entry-point.
|
--entry-point ENTRY_POINT |
Nama fungsi atau class dalam kode sumber Anda. Opsional, kecuali
jika Anda tidak menggunakan FUNCTION_NAME
untuk menentukan
fungsi dalam kode sumber yang akan dijalankan selama deployment. Dalam
hal ini, Anda harus menggunakan --entry-point untuk memberikan nama
fungsi yang dapat dieksekusi.
|
--trigger-event google.firebase.remoteconfig.update |
Memicu fungsi setelah peristiwa update Firebase Remote Config. |
--runtime RUNTIME |
Nama runtime yang Anda gunakan. Untuk daftar lengkapnya, lihat
referensi gcloud.
|