我正在尝试使用气流DAG任务将文件存储到GCS中。 我已经在气流连接页面的“ keyfile json”字段中指定了我的服务帐户信息。但是,运行dag时,即使GCP服务帐户具有“存储对象管理员”角色,我仍收到权限错误:
错误-403 GET https://www.googleapis.com/storage/v1/b/weather_api?projection=noAcl:airflow@xstack-developers-237307.iam.gserviceaccount.com没有storage.buckets.get访问weather_api。 追溯(最近一次通话): _run_raw_task中的第922行的文件“ /Users/bilguun/env/lib/python3.7/site-packages/airflow/models/taskinstance.py” 结果= task_copy.execute(context = context) 执行中的文件“ /Users/bilguun/env/lib/python3.7/site-packages/airflow/operators/python_operator.py”,第113行 return_value = self.execute_callable() 文件“ /Users/bilguun/env/lib/python3.7/site-packages/airflow/operators/python_operator.py”,行118,位于execute_callable 返回self.python_callable(* self.op_args,** self.op_kwargs) 在Forecast_to_gcs中,文件“ /Users/bilguun/airflow/dags/dag_1.py”,第44行 模式= json.loads(gcs_hook.download(gcs_bucket,'config / schema.json')) 下载文件“ /Users/bilguun/env/lib/python3.7/site-packages/airflow/contrib/hooks/gcs_hook.py”,第165行 桶= client.get_bucket(桶) 在get_bucket中的第278行,文件“ /Users/bilguun/env/lib/python3.7/site-packages/google/cloud/storage/client.py” bucket.reload(client = self) 重新载入文件“ /Users/bilguun/env/lib/python3.7/site-packages/google/cloud/storage/_helpers.py”,第130行 _target_object =自我, api_request中的文件“ /Users/bilguun/env/lib/python3.7/site-packages/google/cloud/_http.py”,第393行 引发异常。from_http_response(response)
我已多次检查服务帐户的角色,并显示:“存储对象管理员”
以前有人遇到过这个问题吗?