Déclencheurs Firebase Remote Config
Les fonctions Cloud Run peuvent être déclenchées en réponse aux modifications de Firebase Remote Config dans le même Google Cloud projet que la fonction. Vous pouvez ainsi modifier le comportement et l'apparence de votre application sans publier de mise à jour.
Types d'événement
Firebase Remote Config peut déclencher des fonctions en réponse à l'événement remoteconfig.update
.
Type d'événement | Déclencheur |
---|---|
remoteconfig.update |
Déclenché lorsque le modèle Remote Config est mis à jour. |
Structure de l'événement
Les données d'événement sont fournies en tant qu'objet remoteConfig
transformé.
Exemple :
{ "updateType": "FORCED_UPDATE", "updateOrigin": "CONSOLE", "versionNumber": 1 }
Exemple de code
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); }
Déployer votre fonction
Pour déployer votre fonction, vous devez spécifier le type d'événement google.firebase.remoteconfig.update
.
La commande gcloud
suivante déploie une fonction qui est déclenchée par un événement Firebase Remote Config :
gcloud functions deploy FUNCTION_NAME \ --no-gen2 \ --entry-point ENTRY_POINT \ --trigger-event google.firebase.remoteconfig.update \ --runtime RUNTIME
Argument | Description |
---|---|
FUNCTION_NAME |
Nom enregistré de la fonction Cloud Run que vous déployez.
Il peut s'agir du nom d'une fonction dans votre code source ou d'une chaîne arbitraire. Si FUNCTION_NAME est une chaîne arbitraire, vous devez alors inclure l'option --entry-point .
|
--entry-point ENTRY_POINT |
Nom d'une fonction ou d'une classe dans votre code source. Ce paramètre est facultatif, sauf si vous n'avez pas utilisé FUNCTION_NAME pour spécifier quelle fonction de votre code source exécuter lors du déploiement. Dans ce cas, vous devez utiliser --entry-point pour fournir le nom de la fonction exécutable.
|
--trigger-event google.firebase.remoteconfig.update |
Déclenchez la fonction lors des événements de mise à jour de Firebase Remote Config. |
--runtime RUNTIME |
Nom de l'environnement d'exécution que vous utilisez. Pour obtenir une liste complète, consultez la documentation de référence sur gcloud .
|