Ошибка при подключении к Firebase из dev_appserver: у объекта VerifiedHTTPSConnection нет атрибута _tunnel_host - PullRequest
0 голосов
/ 03 января 2019

Я локально запускаю службу, которую я намерен запустить в GCP как службу.Я аутентифицируюсь в Firebase, используя файл json учетной записи службы.

from firebase_admin import credentials
from firebase_admin import db

cred = credentials.Certificate('./firebase-service-account.json')
firebase_admin.initialize_app(cred, {
    'databaseURL': 'https://XXXXXXXX.firebaseio.com/'
})

... ref.child (msg_id) .set (data)

Однако, когда я пытаюсь записать в Firebase, я вижу следующую ошибку:

AttributeError: 'VerifiedHTTPSConnection' object has no attribute 
'_tunnel_host'

Я собираюсь вставить трассировку стека ниже, если она может обеспечить некоторую дополнительную ясность:

File "/Users/karthig/Documents/coding/nocservice/query.py", line 42, in publish_results
ref.child(msg_id).set(data)
File "/Users/karthig/Documents/coding/nocservice/lib/firebase_admin/db.py", line 262, in set
self._client.request('put', self._add_suffix(), json=value, params='print=silent')
File "/Users/karthig/Documents/coding/nocservice/lib/firebase_admin/db.py", line 882, in request
return super(_Client, self).request(method, url, **kwargs)
File "/Users/karthig/Documents/coding/nocservice/lib/firebase_admin/_http_client.py", line 84, in request
resp = self._session.request(method, self._base_url + url, **kwargs)
File "/Users/karthig/Documents/coding/nocservice/lib/google/auth/transport/requests.py", line 198, in request
self._auth_request, method, url, request_headers)
File "/Users/karthig/Documents/coding/nocservice/lib/google/auth/credentials.py", line 122, in before_request
self.refresh(request)
File "/Users/karthig/Documents/coding/nocservice/lib/google/oauth2/service_account.py", line 322, in refresh
request, self._token_uri, assertion)
File "/Users/karthig/Documents/coding/nocservice/lib/google/oauth2/_client.py", line 145, in jwt_grant
response_data = _token_endpoint_request(request, token_uri, body)
File "/Users/karthig/Documents/coding/nocservice/lib/google/oauth2/_client.py", line 106, in _token_endpoint_request
method='POST', url=token_uri, headers=headers, body=body)
File "/Users/karthig/Documents/coding/nocservice/lib/google/auth/transport/requests.py", line 120, in __call__
**kwargs)
File "/Users/karthig/Documents/coding/nocservice/lib/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/Users/karthig/Documents/coding/nocservice/lib/requests/sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "/Users/karthig/Documents/coding/nocservice/lib/requests/adapters.py", line 449, in send
timeout=timeout
File "/Users/karthig/Documents/coding/nocservice/lib/urllib3/connectionpool.py", line 600, in urlopen
chunked=chunked)
File "/Users/karthig/Documents/coding/nocservice/lib/urllib3/connectionpool.py", line 343, in _make_request
self._validate_conn(conn)
File "/Users/karthig/Documents/coding/nocservice/lib/urllib3/connectionpool.py", line 839, in _validate_conn
conn.connect()
File "/Users/karthig/Documents/coding/nocservice/lib/urllib3/connection.py", line 304, in connect
if self._tunnel_host:
AttributeError: 'VerifiedHTTPSConnection' object has no attribute '_tunnel_host'
ERROR    2019-01-03 20:02:00,987 worker.py:45] An error occurred during a request.
ERROR    2019-01-03 20:02:00,988 worker.py:46] 'VerifiedHTTPSConnection' object has no attribute '_tunnel_host'

1 Ответ

0 голосов
/ 04 января 2019

На этот вопрос уже был дан ответ в разделе комментариев ответа Джона, размещенного выше , но для большей ясности просто добавьте следующие строки, где ваше приложение инициализируется:

from requests_toolbelt.adapters import appengine
appengine.monkeypatch()

Вот и все.См. здесь для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...