Quicksight - "No tables found" 用于 Snowflake 数据源

Quicksight - "No tables found" for Snowflake data source

我有一个带有架构的数据库,table 和 Snowflake 中的视图,以及一个用于 运行 查询的仓库。 public 角色已被授予对所有人的 SELECT 和 USAGE 访问权限。

但是当我将 Snowflake 连接到 AWS QuickSight 时,没有模式或 table 可用。

为了测试我检查过的权限,我可以使用 public 角色以及仓库、数据库和架构查询 Snowflake 工作表中的视图。作为进一步测试,我还将 Redash 连接到 Snowflake 并可以在那里查询视图。

仍然,使用相同的凭据,QuickSight 中没有任何可用的内容。我试过大写和小写的数据库和仓库名称 (Quicksight Data sets - Unable to see snowflake schema and tables)。

如果我更改 QuickSight 以连接到 SNOWFLAKE_SAMPLE_DATA 数据库,我可以看到架构列表,但没有显示任何架构的 table。

我可能遗漏了什么?

我建议您为 Quicksight/Redash 或此类应用程序创建一个新角色,并将其授予您的 Quicksight 用户。 奇怪的是你可以从redash看到。

假设您有一个名为 REPORTING 的角色,这里是您需要的最低权限:

GRANT USAGE ON WAREHOUSE YOUR_WH TO ROLE REPORTING;

GRANT USAGE ON DATABASE YOUR_DB TO ROLE REPORTING;

GRANT USAGE ON SCHEMA YOUR_DB.PUBLIC TO ROLE REPORTING;

GRANT SELECT ON ALL TABLES IN SCHEMA YOUR_DB.PUBLIC TO ROLE REPORTING;
GRANT SELECT ON FUTURE TABLES IN SCHEMA YOUR_DB.PUBLIC TO ROLE REPORTING;

GRANT SELECT ON ALL VIEWS IN SCHEMA YOUR_DB.PUBLIC TO ROLE REPORTING;
GRANT SELECT ON FUTURE VIEWS IN SCHEMA YOUR_DB.PUBLIC TO ROLE REPORTING;

另外,一定要运行这个:

GRANT ROLE REPORTING TO USER QUICKSIGHTS;

我们总是在 Snowflake 中使用大写关键字。