在事先不知道项目 ID 的情况下,以编程方式列出已授予访问权限的 Bigquery 数据集
Programmatically listing Bigquery datasets to which access has been granted, without knowing project ID in advance
有没有一种方法(使用 BigQuery API)以编程方式列出所有数据集 帐户已被授予访问权限,没有 提前知道包含这些数据集的项目名称?我感觉 API 可能不会暴露这些信息。
我希望获得类似于 BigQuery Web 控制台左侧显示的数据集列表的内容。
我指的是我没有访问包含它们的项目的数据集,并且只被授予访问特定数据集的权限。否则,我们可以简单地使用 API 列出项目,然后查询每个项目的数据集列表。
大概这必须排除 public 个数据集(太多),并且只包括那些我的帐户已被明确授予访问权限的数据集。
Google 的大多数工具都有 API 个浏览器。每当您有这样的问题时,我建议您查看资源管理器,因为它会准确地告诉您什么是强制性的,什么可以做什么,不能做什么。
如果您查找 API 资源管理器 here(来自官方文档中的 "dataset -> list"),您会看到只有一个必填字段:projectID。所以你的问题的答案是否定的,你确实需要项目的名称
bq ls --format=prettyjson
这个returns一个JSON格式如下:
[
{
"datasetId": "wr_1"
},
{
"datasetId": "wr_2"
},
{
"datasetId": "wr_3"
},
{
"datasetId": "wr_4"
}
]
您也可以通过 API 执行此操作,但您需要多次调用
目前无法在 BigQuery API 中执行此操作。正如您所说,您可以获得您所属项目的列表,然后列出这些项目中的数据集,但是无法获得已与您共享的所有数据集的完整列表。
我们希望在未来提供更好的搜索和发现功能,但遗憾的是现在不可能。
有没有一种方法(使用 BigQuery API)以编程方式列出所有数据集 帐户已被授予访问权限,没有 提前知道包含这些数据集的项目名称?我感觉 API 可能不会暴露这些信息。
我希望获得类似于 BigQuery Web 控制台左侧显示的数据集列表的内容。
我指的是我没有访问包含它们的项目的数据集,并且只被授予访问特定数据集的权限。否则,我们可以简单地使用 API 列出项目,然后查询每个项目的数据集列表。
大概这必须排除 public 个数据集(太多),并且只包括那些我的帐户已被明确授予访问权限的数据集。
Google 的大多数工具都有 API 个浏览器。每当您有这样的问题时,我建议您查看资源管理器,因为它会准确地告诉您什么是强制性的,什么可以做什么,不能做什么。
如果您查找 API 资源管理器 here(来自官方文档中的 "dataset -> list"),您会看到只有一个必填字段:projectID。所以你的问题的答案是否定的,你确实需要项目的名称
bq ls --format=prettyjson
这个returns一个JSON格式如下:
[
{
"datasetId": "wr_1"
},
{
"datasetId": "wr_2"
},
{
"datasetId": "wr_3"
},
{
"datasetId": "wr_4"
}
]
您也可以通过 API 执行此操作,但您需要多次调用
目前无法在 BigQuery API 中执行此操作。正如您所说,您可以获得您所属项目的列表,然后列出这些项目中的数据集,但是无法获得已与您共享的所有数据集的完整列表。
我们希望在未来提供更好的搜索和发现功能,但遗憾的是现在不可能。