【发布时间】:2021-07-19 06:29:55
【问题描述】:
我对 Python 和 Google Cloud Platform 还很陌生。 我有一个用例在 BigQuery 平台上执行 SQL 命令,然后将查询的输出放在文件中。我正在使用 PyCharm IDE 在 Windows 10 笔记本电脑上运行 Python 命令。
我有可用的服务帐户 JSON,我用它来设置 GOOGLE_APPLICATION_CREDENTIALS 值。该命令失败并出现以下错误:
google.api_core.exceptions.RetryError: 调用 functools.partial(functools.partial(bq-table-name-here\nLIMIT 100\n'}}}, timeout=None)), 最后一个异常:HTTPSConnectionPool (host='oauth2.googleapis.com', port=443): 最大重试次数超出 url: /token (由 SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败: 证书链中的自签名证书_ssl.c:1123)')))
我尝试执行的实际代码如下:
import yaml
import os
import sys
from google.cloud import bigquery
from google.oauth2 import service_account
from datetime import datetime
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] ="C:\\Users\\username\\Documents\\Code\\Creds\\creds.json"
credentials = os.environ['GOOGLE_APPLICATION_CREDENTIALS']
sql_script = '''
SELECT *
FROM `<project-name>.<dataset-name>.<table-name>`
LIMIT 100
'''
client = bigquery.Client()
location = 'asia-southeast1'
query_job = client.query(sql_script,location=location).to_dataframe()
query_job.to_csv('table_schema_extract.csv')
非常感谢我可能做错了什么,这导致了这个错误。
感谢和干杯! 苏维拉特
【问题讨论】:
-
该错误是由自签名证书引起的。你在代理后面吗?使用您的网络环境的详细信息编辑您的问题。
-
不,据我所知,我不在代理后面。我是否需要设置任何证书才能运行此查询提取?
-
根据您的回答,您在代理后面。这意味着管理代理的任何人都可以完全访问您的数据。这包括您的登录名、密码、电子邮件等。
标签: python google-cloud-platform google-bigquery