当前位置: 首页 > 知识库问答 >
问题:

如何将被操纵的数据从谷歌云功能传输到Firebase远程配置?

袁泰平
2023-03-14

我有一个Android应用程序,用户数据存储在火力恢复中。我想获取这些数据,并使用python在谷歌云功能(用于排名系统)上操作结果,并直接将这些结果发送到Firebase远程配置,以便用户可以从那里获取数据。

但是描述完全不同。文档。

所以我的问题是:我能把谷歌云计算的结果直接发送到firebase远程配置吗?

我们还有一个REST API来获取和更改Firebase远程配置值。我们是否可以在Google Cloude Function上调用此API?

.我使用的是需要令牌的代码,但是我使用的是基于与Remore config相同的帐户的云功能

def _get():

从服务器检索当前Firebase远程配置模板并将其存储在本地。

headers = {
'Authorization': 'Bearer ' + _get_access_token()
 }
resp = requests.get(REMOTE_CONFIG_URL, headers=headers)

if resp.status_code == 200:
  with io.open('config.json', 'wb') as f:
    f.write(resp.text.encode('utf-8'))

 print('Retrieved template has been written to config.json')
 print('ETag from server: {}'.format(resp.headers['ETag']))
else:
 print('Unable to get template')
 print(resp.text)

这是发布数据的代码

`def _publish(etag):
 """Publish local template to Firebase server.
 Args:
  etag: ETag for safe (avoid race conditions)
 """
 with open('**config.json**', 'r', encoding='utf-8') as f:
 content = f.read()
 headers = {
  'Authorization': 'Bearer ' + _get_access_token(),
  'Content-Type': 'application/json; UTF-8',
  'If-Match': etag
}
 resp =  requests.
 put(REMOTE_CONFIG_URL,
 data=content.encode('utf-8'),headers=headers)
if resp.status_code == 200:
  print('Template has been published.')
  print('ETag from server: {}'.format(resp.headers['ETag']))
else:
  print('Unable to publish template.')
  print(resp.text)`

就像我可以在云功能中访问firestore数据库而不进行身份验证一样,为什么我不能在没有配置的情况下更新远程配置。json?函数只有2个主文件。py和要求

如果谷歌云功能需要身份验证来更新远程配置,我可以将配置存储在哪里。json文件?

共有1个答案

雷方伟
2023-03-14

您似乎会在需要时手动触发该功能。您可以创建一个HTTP函数,并验证是您触发了它,这样其他人就无法触发。

from flask import escape
import functions_framework

def update_data_http(request):
    # 1. Verify the function is called by you
    # 2. Perform the calculations
    # 3. Update the result in Remote Config / Realtime Database
    return 'Data updated!!'

Firebase Admin SDK for Python不包括远程配置,因此您必须使用远程配置REST API来更新数据。为此,使用实时数据库可能会更容易一些,因为您可以直接使用Admin SDK更新数据。

我可以将在谷歌云功能上计算的结果直接发送到Firebase远程配置吗?

是的,使用上面链接的RESTAPI。

我们可以在Google Cloude函数中调用这个api吗?

您可以从Cloud函数调用任何API。有关使用Python调用API,请参阅此答案:使用python向RESTful API发出请求

 类似资料:
  • 我正试图通过谷歌云功能访问和更新我的firebase数据库,但它不起作用。 我已经编写了一个云函数,其中我已经初始化了Firebase-admin。 我必须提供service_account初始化管理。 我正在将我的firebase应用程序初始化为 我在谷歌云功能中没有我的服务帐户路径。 是否有任何方法从GOOGLE云函数访问Firebase? 谢谢

  • 我有一个应用引擎项目。 我也有谷歌云功能。 我想从App Engine项目中调用谷歌云功能。我就是没法让它发挥作用。 是的,如果我将函数完全公开(即将云函数设置为“允许所有流量”,并为“所有用户”创建一个允许调用函数的规则),它就可以工作。但是如果我限制这两个设置中的任何一个,它会立即停止工作,我得到403。 应用程序和函数在同一个项目中,所以我至少假设将函数设置为“仅允许内部流量”应该可以正常工

  • 我们一直在使用服务,在(AWS)中,我们意外删除了一个目录,因此我们认为它应该在中,但是经过查看,尽管处于打开状态,但它并不存在。

  • 我想能够从谷歌云功能中调用谷歌应用程序引擎,有可能吗?找不到任何解决办法

  • 我正在尝试使用谷歌云数据流将谷歌PubSub消息写入谷歌云存储。PubSub消息采用json格式,我要执行的唯一操作是从json到parquet文件的转换。

  • 我正试图使用Python应用编程接口将文件从笔记本中的数据实验室实例上传到我的谷歌存储桶,但我无法解决这个问题。谷歌在其留档中提供的代码示例似乎在数据实验室中不起作用。我目前正在使用gsutil命令,但想了解如何在使用Python应用编程接口时做到这一点。 文件目录(我想上传checkpoints文件夹中的python文件): 当前代码: 目前的工作解决方案: