在某些情况下,我在 Windows 10 计算机上使用 Jupyter 笔记本,我想通过设置环境变量“GOOGLE_APPLICATION_CREDENTIALS”来向 GCP 进行身份验证。
我想知道,这两种设置环境变量的方式有什么区别?当我尝试访问 Big Query 时,第一种方法有效,但第二种方法无效。
第一种方法,
import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'path-to-json-file-windows-style-dir'
第二种方法使用魔法命令,
%env GOOGLE_APPLICATION_CREDENTIALS="path-to-json-file-windows-style-dir"
当我在使用第二种方法设置环境变量后尝试使用它时,出现错误
DefaultCredentialsError: File path-to-json-file-windows-style-dir was not found.
这很奇怪,因为错误打印出环境变量的正确值并且路径是正确的。
这是我用于从 Big Query 访问数据的代码,该代码直接取自 Google 的文档:
from google.cloud import bigquery
client = bigquery.Client()
# Perform a query.
QUERY = (
'SELECT name FROM `bigquery-public-data.usa_names.usa_1910_2013` '
'WHERE state = "TX" '
'LIMIT 100')
query_job = client.query(QUERY) # API request
rows = query_job.result() # Waits for query to finish
for row in rows:
print(row.name)
事实证明,设置变量的两种方法产生相同的结果。问题得到了解决,因为我在第一个方法中向变量添加了引号,该引号成为变量的一部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)