【发布时间】:2022-09-27 15:56:42
【问题描述】:
我创建了一个云函数,它将列出所有符合特定条件的 Bigquery 数据集,然后删除所有此类 Bigquery 数据集。 我正在使用以下删除 API 请求:-
bigquery_client.delete_dataset(
dataset[\'schema_name\'], delete_contents=True, not_found_ok=True
) # Make an API request.
它给出以下错误: -
fn_clean_bq_datasetrrhier7sk4oz Traceback (most recent call last): File \"/layers/google.python.pip/pip/lib/python3.9/site-packages/flask/app.py\", line 2073, in wsgi_app response = self.full_dispatch_request()
File \"/layers/google.python.pip/pip/lib/python3.9/site-packages/flask/app.py\", line 1518, in full_dispatch_request rv = self.handle_user_exception(e) File \"/layers/google.python.pip/pip/lib/python3.9/site-packages/flask/app.py\", line 1516, in full_dispatch_request rv = self.dispatch_request()
File \"/layers/google.python.pip/pip/lib/python3.9/site-packages/flask/app.py\", line 1502, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File \"/layers/google.python.pip/pip/lib/python3.9/site-packages/functions_framework/__init__.py\", line 99, in view_func return function(request._get_current_object()) File \"/workspace/main.py\", line 76, in clean_bq_dataset bigquery_client.delete_dataset(
File \"/layers/google.python.pip/pip/lib/python3.9/site-packages/google/cloud/bigquery/client.py\", line 1571, in delete_dataset self._call_api( File \"/layers/google.python.pip/pip/lib/python3.9/site-packages/google/cloud/bigquery/client.py\", line 759, in _call_api return call()
File \"/layers/google.python.pip/pip/lib/python3.9/site-packages/google/api_core/retry.py\", line 283, in retry_wrapped_func return retry_target( File \"/layers/google.python.pip/pip/lib/python3.9/site-packages/google/api_core/retry.py\", line 190, in retry_target return target()
File \"/layers/google.python.pip/pip/lib/python3.9/site-packages/google/cloud/_http/__init__.py\", line 494, in api_request raise exceptions.from_http_response(response) google.api_core.exceptions.
Forbidden: 403 DELETE https://bigquery.googleapis.com/bigquery/v2/projects/xxxxxxxx/datasets/dataset_v05c248634?deleteContents=true&prettyPrint=false: Access Denied: Dataset xxxxxxxxx:dataset_v05c248634: Permission bigquery.datasets.delete denied on dataset xxxxxxxxxxx:dataset_v05c248634 (or it may not exist).
请在 Google 云功能上建议此处缺少哪些权限。
-
仅供参考,您的问题实际上包含答案:
permission bigquery.datasets.delete denied。 (如果你修复了那个,你会看到另一个)
标签: google-cloud-platform google-cloud-functions google-iam