amazon-web-services - Quicksight - Snowflake 数据源为 "No tables found"

标签 amazon-web-services permissions snowflake-cloud-data-platform amazon-quicksight

我有一个包含 Snowflake 中的架构、表和 View 的数据库,以及一个用于运行查询的仓库。公共(public)角色已被授予对所有角色的 SELECT 和 USAGE 访问权限。

但是当我将 Snowflake 连接到 AWS QuickSight 时,没有可用的架构或表。

enter image description here

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

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

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

enter image description here

我可能会错过什么?

最佳答案

我建议您为 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 中使用大写关键字。

关于amazon-web-services - Quicksight - Snowflake 数据源为 "No tables found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61777029/

相关文章:

amazon-web-services - Cloudformation 从参数中删除破折号

java - â® 字符在返回时转换为问号

php create_directory 权限被拒绝 : when attempting shell_exec script

snowflake-cloud-data-platform - 雪花: what is the APPADMIN role?

postgresql - 如何配置基于 x509 客户端证书的身份验证以连接到基于 AWS RDS 的 PostgreSQL

java - 如何使用 dynamodb sdk 将字符串附加到列表? ( java )

android - Linux 授予 Android Studio (AVD) 权限/dev/kvm(权限被拒绝)

Android 权限 - "Never ask again"选择永远记住

json - 雪管 : Load base64 encoded JSON to table

snowflake-cloud-data-platform - Snowflake 服务器的规范是什么?