Big クエリを使用して Web サービスからレポートを生成してから 1 年が経ちましたが、この 1 か月ほどで、Web サービスに変更が加えられていないにもかかわらず、ほとんどのクエリ要求に対する応答で HTTP 500 エラーが発生することに気付きました。 . 私の現在のセットアップでは、5 つの同時クエリを作成し、多くの場合、5 つのクエリのうち 4 つが 500 エラーで失敗します。5 つのクエリすべてが返されることもありますが、最近ではめったに発生せず、アプリケーションがほとんど使用できなくなります。
私はサービス アカウント トークンを使用してサーバー間認証を使用しています。ビッグ クエリ クライアント アプリは、ここに示す例に基づいて厳密にモデル化されています。
https://developers.google.com/bigquery/articles/dashboard#class
ここに完全なエラーメッセージがあります -
HttpError: https://www.googleapis.com/bigquery/v2/projects/1021946877460/queries?alt=json が「予期しない。もう一度お試しください。」を返しました。">
私のbigqueryクライアントのスニペット -
def generateToken():
"""
generates OAuth2.0 token/credentials for login to google big query
"""
credentials = SignedJwtAssertionCredentials(
SERVICE_ACCOUNT_EMAIL,
KEY,
"https://www.googleapis.com/auth/bigquery")
return credentials
class BigQueryClient(object):
def authenticate(self, credentials):
http = httplib2.Http(proxy_info = httplib2.ProxyInfo(
socks.PROXY_TYPE_HTTP,
PROXY_IP,
PROXY_PORT))
http = credentials.authorize(http)
return http
def __init__(self, credentials, project):
http = self.authenticate(credentials)
self.service = build('bigquery', 'v2', http=http)
ここで何か間違ったことをしている場合や、一定期間に許可されるクエリ リクエスト数の制限など、bigquery バックエンドで何か変更があった場合はお知らせください。
ありがとう。