Activadores de Firebase Remote Config
Las funciones de Cloud Run se pueden activar en respuesta a cambios en Firebase Remote Config en el mismo Google Cloud proyecto que la función. Esto permite cambiar el comportamiento y la apariencia de tu aplicación sin publicar una actualización.
Tipos de eventos
Firebase Remote Config puede activar funciones como respuesta al evento remoteconfig.update
.
Tipo de evento | Activador |
---|---|
remoteconfig.update |
Se activa cuando se actualiza la plantilla de Remote Config. |
Estructura de eventos
Los datos de eventos se proporcionan como un objeto remoteConfig
transformado.
Por ejemplo:
{ "updateType": "FORCED_UPDATE", "updateOrigin": "CONSOLE", "versionNumber": 1 }
Código de muestra
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); }
Implementa la función
Para implementar tu función, debes especificar el tipo de evento google.firebase.remoteconfig.update
.
El siguiente comando gcloud
implementa una función que se activa por un evento de Firebase Remote Config:
gcloud functions deploy FUNCTION_NAME \ --no-gen2 \ --entry-point ENTRY_POINT \ --trigger-event google.firebase.remoteconfig.update \ --runtime RUNTIME
Argumento | Descripción |
---|---|
FUNCTION_NAME |
El nombre registrado de la función de Cloud Run Functions que estás implementando.
Puede ser el nombre de una función en tu código fuente o una string arbitraria. Si FUNCTION_NAME es una string arbitraria, debes incluir la marca --entry-point .
|
--entry-point ENTRY_POINT |
El nombre de una función o clase en tu código fuente. Opcional, a menos que no hayas usado FUNCTION_NAME para especificar la función en tu código fuente que se ejecutará durante la implementación. En ese caso, debes usar --entry-point para proporcionar el nombre de la función ejecutable.
|
--trigger-event google.firebase.remoteconfig.update |
Activa la función después de los eventos de actualización de Firebase Remote Config. |
--runtime RUNTIME |
El nombre del entorno de ejecución que usas. Para obtener una lista completa, consulta la gcloud referencia.
|