Trigger di Remote Config Firebase
Le funzioni Cloud Run possono essere attivate in risposta alle modifiche apportate a Firebase Remote Config nello stesso Google Cloud progetto della funzione. In questo modo è possibile modificare il comportamento e l'aspetto dell'app senza pubblicare un aggiornamento.
Tipi di evento
Firebase Remote Config può attivare funzioni in risposta all'evento
remoteconfig.update.
| Tipo di evento | Trigger |
|---|---|
remoteconfig.update |
Si attiva quando viene aggiornato il modello Remote Config. |
Struttura dell'evento
I dati sugli eventi vengono forniti come un oggetto remoteConfig trasformato.
Ad esempio:
{ "updateType": "FORCED_UPDATE", "updateOrigin": "CONSOLE", "versionNumber": 1 }
Codice di esempio
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); }
Deployment della funzione
Per eseguire il deployment della funzione, devi specificare il tipo di evento
google.firebase.remoteconfig.update.
Il seguente comando gcloud esegue il deployment di una funzione attivata
da un evento Firebase Remote Config:
gcloud functions deploy FUNCTION_NAME \ --no-gen2 \ --entry-point ENTRY_POINT \ --trigger-event google.firebase.remoteconfig.update \ --runtime RUNTIME
| Argomento | Descrizione |
|---|---|
FUNCTION_NAME |
Il nome registrato della funzione Cloud Run di cui stai eseguendo il deployment.
Può essere il nome di una funzione nel tuo
codice sorgente o una stringa arbitraria. Se FUNCTION_NAME è una
stringa arbitraria, devi includere il
flag --entry-point.
|
--entry-point ENTRY_POINT |
Il nome di una funzione o di una classe nel codice sorgente. Facoltativo, a meno che
non hai utilizzato FUNCTION_NAME
per specificare la
funzione nel codice sorgente da eseguire durante il deployment. In questo
caso, devi utilizzare --entry-point per fornire il nome della
funzione eseguibile.
|
--trigger-event google.firebase.remoteconfig.update |
Attiva la funzione in caso di eventi di aggiornamento di Firebase Remote Config. |
--runtime RUNTIME |
Il nome del runtime che stai utilizzando. Per un elenco completo, consulta il
riferimento gcloud.
|