试图在谷歌应用引擎python上使用大查询。我试图使用this client library来实现这一点。我已经导入了所有必要的库,并以某种方式运行下面的代码段
from bigquery import get_client
# BigQuery project id as listed in the Google Developers Console.
project_id = 'project_id'
# Service account email address as listed in the Google Developers Console.
service_account = 'my_id_123@developer.gserviceaccount.com'
# PKCS12 or PEM key provided by Google.
key = 'key.pem'
client = get_client(project_id, service_account=service_account,
private_key_file=key, readonly=True)
并仍然收到错误:
2015-10-26 19:08:37 Running command: "['C:\\Python27\\pythonw.exe', 'C:\\Program Files (x86)\\Google\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=19090', '--admin_port=9010', 'C:\\Users\\CrowdStar\\workspace\\AppEngineThinkStudio\\TrafficTestCase']"
INFO 2015-10-26 19:08:39,540 devappserver2.py:726] Skipping SDK update check.
INFO 2015-10-26 19:08:39,634 api_server.py:172] Starting API server at: http://localhost:61626
INFO 2015-10-26 19:08:39,634 dispatcher.py:186] Starting module "default" running at: http://localhost:19090
INFO 2015-10-26 19:08:39,651 admin_server.py:118] Starting admin server at: http://localhost:9010
INFO 2015-10-26 18:08:44,361 discovery.py:240] URL being requested: GET https://www.googleapis.com/discovery/v1/apis/bigquery/v2/rest?userIp=%3A%3A1
INFO 2015-10-26 18:08:44,361 client.py:563] Attempting refresh to obtain initial access_token
ERROR 2015-10-26 18:08:44,365 webapp2.py:1528] RSA key format is not supported
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1511, in __call__
rv = self.handle_exception(request, response, e)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1505, in __call__
rv = self.router.dispatch(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1253, in default_dispatcher
return route.handler_adapter(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1077, in __call__
return handler.dispatch()
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 547, in dispatch
return self.handle_exception(e, self.app.debug)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 545, in dispatch
return method(*args, **kwargs)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\main.py", line 72, in get
private_key_file=key, readonly=True)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\bigquery\client.py", line 83, in get_client
readonly=readonly)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\bigquery\client.py", line 101, in _get_bq_service
service = build('bigquery', 'v2', http=http)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\util.py", line 142, in positional_wrapper
return wrapped(*args, **kwargs)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\googleapiclient\discovery.py", line 196, in build
cache)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\googleapiclient\discovery.py", line 242, in _retrieve_discovery_doc
resp, content = http.request(actual_url)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 565, in new_request
self._refresh(request_orig)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 835, in _refresh
self._do_refresh_request(http_request)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 862, in _do_refresh_request
body = self._generate_refresh_request_body()
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 1541, in _generate_refresh_request_body
assertion = self._generate_assertion()
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 1670, in _generate_assertion
private_key, self.private_key_password), payload)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\_pycrypto_crypt.py", line 121, in from_string
pkey = RSA.importKey(parsed_pem_key)
File "C:\Python27\lib\site-packages\pycrypto-2.6.1-py2.7-win32.egg\Crypto\PublicKey\RSA.py", line 665, in importKey
return self._importKeyDER(der)
File "C:\Python27\lib\site-packages\pycrypto-2.6.1-py2.7-win32.egg\Crypto\PublicKey\RSA.py", line 588, in _importKeyDER
raise ValueError("RSA key format is not supported")
ValueError: RSA key format is not supported
ERROR 2015-10-26 18:08:44,372 wsgi.py:279]
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 267, in Handle
result = handler(dict(self._environ), self._StartResponse)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1519, in __call__
response = self._internal_error(e)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1511, in __call__
rv = self.handle_exception(request, response, e)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1505, in __call__
rv = self.router.dispatch(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1253, in default_dispatcher
return route.handler_adapter(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1077, in __call__
return handler.dispatch()
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 547, in dispatch
return self.handle_exception(e, self.app.debug)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 545, in dispatch
return method(*args, **kwargs)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\main.py", line 72, in get
private_key_file=key, readonly=True)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\bigquery\client.py", line 83, in get_client
readonly=readonly)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\bigquery\client.py", line 101, in _get_bq_service
service = build('bigquery', 'v2', http=http)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\util.py", line 142, in positional_wrapper
return wrapped(*args, **kwargs)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\googleapiclient\discovery.py", line 196, in build
cache)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\googleapiclient\discovery.py", line 242, in _retrieve_discovery_doc
resp, content = http.request(actual_url)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 565, in new_request
self._refresh(request_orig)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 835, in _refresh
self._do_refresh_request(http_request)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 862, in _do_refresh_request
body = self._generate_refresh_request_body()
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 1541, in _generate_refresh_request_body
assertion = self._generate_assertion()
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 1670, in _generate_assertion
private_key, self.private_key_password), payload)
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\_pycrypto_crypt.py", line 121, in from_string
pkey = RSA.importKey(parsed_pem_key)
File "C:\Python27\lib\site-packages\pycrypto-2.6.1-py2.7-win32.egg\Crypto\PublicKey\RSA.py", line 665, in importKey
return self._importKeyDER(der)
File "C:\Python27\lib\site-packages\pycrypto-2.6.1-py2.7-win32.egg\Crypto\PublicKey\RSA.py", line 588, in _importKeyDER
raise ValueError("RSA key format is not supported")
ValueError: RSA key format is not supported
INFO 2015-10-26 19:08:44,404 module.py:737] default: "GET / HTTP/1.1" 500 -