Gatilhos da Configuração remota do Firebase
As funções do Cloud Run podem ser acionadas em resposta a alterações na Configuração remota do Firebase no mesmo projeto Google Cloud da função. Isso possibilita alterar o comportamento e a aparência do seu aplicativo sem publicar uma atualização dele.
Tipos de evento
A Configuração remota do Firebase pode acionar funções em resposta ao evento remoteconfig.update
.
Tipo de evento | Gatilho |
---|---|
remoteconfig.update |
Acionado quando o modelo de configuração remota é atualizado. |
Estrutura do evento
Os dados do evento são fornecidos como um objeto remoteConfig
transformado.
Por exemplo:
{ "updateType": "FORCED_UPDATE", "updateOrigin": "CONSOLE", "versionNumber": 1 }
Exemplo de código
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); }
Como implantar a função
Para implantar sua função, é preciso especificar o tipo de evento google.firebase.remoteconfig.update
.
O comando gcloud
a seguir implanta uma função que é acionada por um evento da Configuração remota do Firebase:
gcloud functions deploy FUNCTION_NAME \ --no-gen2 \ --entry-point ENTRY_POINT \ --trigger-event google.firebase.remoteconfig.update \ --runtime RUNTIME
Argumento | Descrição |
---|---|
FUNCTION_NAME |
O nome registrado da função do Cloud Run que você está implantando.
Pode ser o nome de uma função no código-fonte ou uma string arbitrária. Se FUNCTION_NAME for uma string arbitrária, você precisará incluir a sinalização --entry-point .
|
--entry-point ENTRY_POINT |
O nome de uma função ou classe no código-fonte. Opcional, a menos que
você não tenha usado FUNCTION_NAME
para especificar a
função no código-fonte a ser executada durante a implantação. Nesse caso, use --entry-point para fornecer o nome da função executável.
|
--trigger-event google.firebase.remoteconfig.update |
Aciona a função nos eventos de atualização da configuração remota do Firebase. |
--runtime RUNTIME |
O nome do ambiente de execução que você está usando. Para uma lista completa, consulte a referência do gcloud .
|