gpt4 book ai didi

python - 从Google Cloud yalm python应用程序检索firebase数据库数据

转载 作者:行者123 更新时间:2023-12-01 09:33:48 25 4
gpt4 key购买 nike

我正在构建一个谷歌云功能,每 1 分钟启动一次。目的是从我的数据库(firebase)获取数据,如果帖子的日期早于一小时前,则删除这些数据。

我正在考虑制作一个firebase云函数,并在一小时后使用settimeout函数。不幸的是,这显然是不可能的。所以我决定使用gcloud的cron功能。

这是我的 main.py。

import webapp2
from gcloud import datastore
import firebase_admin
from firebase_admin import credentials
from firebase_admin import db

# Fetch the service account key JSON file contents
cred = credentials.Certificate('key.json')

try:
# Initialize the app with a service account, granting admin privileges
firebase_admin.initialize_app(cred, {
'databaseURL': 'https://#########.firebaseio.com/'
})
except:
print('no need for init firebase')
# As an admin, the app has access to read and write all data, regradless of Security Rules
ref = db.reference('/')



class HourCronPage(webapp2.RequestHandler):
def get(self):
ref.child("test").delete()


app = webapp2.WSGIApplication([
('/timer', HourCronPage),
], debug=True)

这是我从 gcloud 控制台收到的错误,我不知道如何解决这个问题:

('Connection broken: IncompleteRead(14 bytes read)', IncompleteRead(14 bytes read)) (/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/webapp2.py:1552)
Traceback (most recent call last):
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/webapp2.py", line 1535, in __call__
rv = self.handle_exception(request, response, e)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/webapp2.py", line 1529, in __call__
rv = self.router.dispatch(request, response)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/webapp2.py", line 1278, in default_dispatcher
return route.handler_adapter(request, response)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/webapp2.py", line 1102, in __call__
return handler.dispatch()
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/webapp2.py", line 572, in dispatch
return self.handle_exception(e, self.app.debug)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/webapp2.py", line 570, in dispatch
return method(*args, **kwargs)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/main.py", line 25, in get
ref.child("test").delete()
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/firebase_admin/db.py", line 282, in delete
self._client.request('delete', self._add_suffix())
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/firebase_admin/db.py", line 774, in request
return super(_Client, self).request(method, url, **kwargs)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/firebase_admin/_http_client.py", line 84, in request
resp = self._session.request(method, self._base_url + url, **kwargs)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/google/auth/transport/requests.py", line 198, in request
self._auth_request, method, url, request_headers)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/google/auth/credentials.py", line 121, in before_request
self.refresh(request)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/google/oauth2/service_account.py", line 322, in refresh
request, self._token_uri, assertion)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/google/oauth2/_client.py", line 145, in jwt_grant
response_data = _token_endpoint_request(request, token_uri, body)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/google/oauth2/_client.py", line 106, in _token_endpoint_request
method='POST', url=token_uri, headers=headers, body=body)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/google/auth/transport/requests.py", line 124, in __call__
six.raise_from(new_exc, caught_exc)
File "/base/data/home/apps/s~instavice-application/20180408t195049.408875809865949267/lib/six.py", line 737, in raise_from
raise value
TransportError: ('Connection broken: IncompleteRead(14 bytes read)', IncompleteRead(14 bytes read))

有人有想法吗?

提前非常感谢你们。

最佳答案

您可能需要设置 App Engine 环境中所需的相同附加依赖项(至少是 ssl):https://google-auth.readthedocs.io/en/latest/user-guide.html#the-app-engine-standard-environment

关于python - 从Google Cloud yalm python应用程序检索firebase数据库数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49716767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com