Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Airflow 针对BigQueryHook的Google Cloud Composer身份验证_Airflow_Google Cloud Composer - Fatal编程技术网

Airflow 针对BigQueryHook的Google Cloud Composer身份验证

Airflow 针对BigQueryHook的Google Cloud Composer身份验证,airflow,google-cloud-composer,Airflow,Google Cloud Composer,我正在尝试使用BigQueryHook,但无法使服务帐户身份验证正常工作 我按照Google提供的步骤将JSON文件复制到环境的GCS bucket中的data/目录中。 已填写气流连接详细信息: JSON密钥文件路径:/home/afflow/gcs/data/my-key-file.JSON Keyfile JSON:JSON文件的内容 范围: stackdriver中出现错误: 回溯(最后一次调用):文件“/usr/local/lib/aiffair/aiffair/models.py”,

我正在尝试使用BigQueryHook,但无法使服务帐户身份验证正常工作

我按照Google提供的步骤将JSON文件复制到环境的GCS bucket中的data/目录中。 已填写气流连接详细信息:

JSON密钥文件路径:/home/afflow/gcs/data/my-key-file.JSON

Keyfile JSON:JSON文件的内容

范围:

stackdriver中出现错误:

回溯(最后一次调用):文件“/usr/local/lib/aiffair/aiffair/models.py”,第374行,进程中的文件m=imp.load\u源(mod\u名称,文件路径)文件“/opt/python3.6/lib/python3.6/imp.py”,第172行,加载源模块=\u加载(规范)文件“”,第684行,加载文件“”,第665行,加载未锁定文件“”,第678行,执行模块文件“”,第219行,在df=get_config()文件“/home/aiffair/gcs/dags/cloud_sql_to_bq.py”中,在df=get_config()文件“/home/aiffair/gcs/dags/cloud_sql_to_bq.py”中,第71行,在get_config bq_client=bigquery.client(project=bq_hook.\u get_字段(“我的项目”),credentials=bq_hook.\u credentials())文件中“/usr/local/lib/aiffair/aiffair/contrib/hooks/gcp_-api_-base_-hook.py”,第103行,在_-get_-credentials-key_-path,scopes=scopes)文件“/opt/python3.6/lib/python3.6/site-packages/google/oauth2/service_-account.py”,第209行,在from_-service_-account文件名中,require=['client_-email','token_-uri'/opt/python3.6/lib/python3.6/site packages/google/auth/_service_account_info.py”,第71行,从文件名开始,以io.open(文件名,'r',encoding='utf-8')作为json_文件:FileNotFoundError:[Errno 2]没有这样的文件或目录:'/home/afflow/gcs/data/my key file.json'


你知道为什么它看不到JSON文件吗?

你把你的密钥文件放在一个GCS存储桶中,但是你把JSON密钥文件路径指向了你的本地。为什么?另外,如果你把JSON文件的内容放进去,你只需删除JSON密钥文件路径的值。@Ryancecoder我正在关注谷歌提供的Cloud Composer文档,其中说明:in key文件路径,在Airflow worker上输入JSON密钥文件位置的本地文件路径,例如/home/aiffort/gcs/data/keyfile.JSON。我删除了该路径,只留下JSON内容,现在可以使用了,谢谢。