无法设置将集合导出到BigQuery扩展.无法卸载:无法从服务帐户中删除IAM角色



我尝试安装Export Collections to BigQuery扩展,以将firestore集合数据发送到BigQuery。安装成功,但始终无法使查询正常工作。我一直收到错误:

未找到:数据集myproject:firestore_events未在位置US 中找到

我尝试卸载并重新安装。我现在有两个扩展实例,尝试卸载失败,并出现另一个错误:

无法从项目/myproject/instances/firestore bigquery导出的服务帐户中删除IAM角色

有手动卸载的方法吗?有手动安装的方法吗?

以下错误消息表示FROM语句可能不包含正确的查询结构-项目、数据库和表:

未找到:数据集myproject:firestore_events未在位置US 中找到

例如:

SELECT *
FROM `my-project.my-database.my-table`

请注意后面的记号。

有关类似问题的详细信息,请参阅错误:未找到:在位置US中未找到数据集我的项目名称:domain_public。

现在,关于第二条错误消息:

无法从项目/myproject/instances/firestore bigquery导出的服务帐户中删除IAM角色

我怀疑在重新安装并卸载其中一个扩展实例后,其服务帐户可能已被删除,因此无法删除其IAM角色。

此扩展的安装将生成一个新的服务帐户,该帐户具有BigQuery数据编辑器角色以访问您的项目和资源。此角色允许扩展配置数据并将数据导出到BigQuery中。

来自文件:

从项目中卸载扩展时,Firebase会删除为该扩展实例创建的服务帐户。删除服务帐户后,扩展无法在您的项目中运行,因为它不再具有对您的项目或数据的任何访问权限。

我能够卸载并重新安装Export Collections to BigQuery扩展,以避免在我的项目中出现重复,而不会出现任何问题。

为了回答您的最后一个问题,除了文档中显示的方法外,我不知道还有其他安装/卸载Firebase扩展的方法。您可以使用Firebase控制台或Firebase CLI:安装扩展

1-安装Firebase CLI或将其更新到最新版本:

npm install -g firebase-tools

2-安装扩展:

firebase ext:install firestore-bigquery-export --project=projectId_or_alias

编辑

我们可以采取以下步骤来排除错误:

未能从项目的服务帐户中删除IAM角色

  • 请确保您是要在其中安装扩展的项目的所有者
  • 请参阅此GitHub问题以使用CLI卸载扩展
  • 如果没有帮助,请尝试在GCP控制台内禁用并重新启用Firebase Extensions API
  • 请确保在您的项目中启用Firebase Management API
  • 如果没有帮助,请导航到云控制台上的IAM权限页面,然后找到服务帐户。
    • 添加云功能开发人员和Firebase扩展API服务代理角色。
      • 如果这些角色由于某种原因不可用,那么只添加项目编辑器角色也可以起到包罗万象的作用。但是,使用catch-all还为服务帐户提供了额外的权限

我在安装Firebase扩展时遇到了类似的问题。

我的错误是添加了一个不存在的IAM角色,这不仅无法安装扩展,而且阻止了我卸载,并出现错误failed to remove IAM roles from Service Account for

为了解决这个问题,我编辑了我所知道的被破坏的权限,使其成为正确的角色,然后运行以下。。。

firebase ext:update ${ext-name} . --project={project-name}.

或者,从配置中完全删除所有角色并进行更新将得到相同的结果。

一旦完成,卸载过程将自动继续并卸载您的扩展。

最新更新