5

Nasza platforma integracyjna otrzymuje codziennie kilka błędów "Nie można pobrać adresu URL: ...". Nie wiem, jaka jest tego przyczyna.GAE - nie można pobrać adresu URL z BigQuery API

Pierwszy GAE próbuje autoryzować za pomocą OAuth2 z poziomu aplikacji do BigQuery poprzez BigQuery API. próbuje w każdej sekundzie przez ponad 30 sekund (to tylko 1 z 30 podobnych linie):

2015-05-12 05:59:02.727 
URL being requested: https://www.googleapis.com/bigquery/v2/projects/XXX/jobs/job_w-z5K2zQObXeSaLy3hx7m4FOMXc?alt=json 

Poniżej znajduje się śladowe (tuż po dzienniki przedstawiony powyżej):

File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/connectors/connector_XXX_v1_0.py", line 189, in send 
    status = self._verify_status(resp, content) 
    File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/connectors/connector_XXX_v1_0.py", line 250, in _verify_status 
    jobId=jobReference).execute() 
    File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/oauth2client/util.py", line 128, in positional_wrapper 
    return wrapped(*args, **kwargs) 
    File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/apiclient/http.py", line 676, in execute 
    body=self.body, headers=self.headers) 
    File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/oauth2client/util.py", line 128, in positional_wrapper 
    return wrapped(*args, **kwargs) 
    File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/oauth2client/client.py", line 490, in new_request 
    redirections, connection_type) 
    File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/httplib2/__init__.py", line 1570, in request 
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey) 
    File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/httplib2/__init__.py", line 1317, in _request 
    (response, content) = self._conn_request(conn, request_uri, method, body, headers) 
    File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/httplib2/__init__.py", line 1286, in _conn_request 
    response = conn.getresponse() 
    File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/gae_override/httplib.py", line 536, in getresponse 
    'An error occured while connecting to the server: %s' % e) 
error: An error occured while connecting to the server: Unable to fetch URL: https://www.googleapis.com/bigquery/v2/projects/XXX/jobs/job_d_ONsjBebYjreJuDD-ZdEqCHYv0?alt=json 

Są z procesów pobieranie danych z Google Datastore i ładowanie do BigQuery.

Błędy te są nieokreślone. Czasami się zdarzają. Czasami nie. Nie widzę tutaj żadnego wzorca.

Jedna uwaga: do 2015-05-01 nie było problemów z tymi procesami. Dane zostały załadowane do BQ bez kłopotów.

Moje założenie jest takie, że może być w jakiś sposób powiązane z OAuth2.0. Używamy

oauth2client v1.1. Najnowszy to 1.4.7. Może aktualizacja pomogłaby? Czy problem leży gdzieś indziej?

+0

Jestem bardzo ciekawa możliwych odpowiedzi. Mamy dokładnie ten sam problem od tej samej daty. – Epok

+0

czy to jest problem z limitem czasu? spróbuj zwiększyć limity czasu połączenia i odczytu w GAE – pinoyyid

+0

@pinoyyid Jak zmienić czas połączenia i odczytać limity czasu? –

Odpowiedz

0

Aby zminimalizować ten typ błędu, zaimplementuj strategię ponawiania w aplikacji podczas wstawiania danych do BigQuery. Przejdź przez stronę document, aby uzyskać lepsze wyjaśnienie.

+0

Jak widać, mamy to zaimplementowane. 'getJob = self.jobCollection.get ( projectId = self.config ['projectId'], jobId = jobReference) .execute()' Ten fragment kodu jest uruchamiany około 30 razy co 500ms do "Nie można pobrać adresu URL: " pojawia się. –