我有一个简单的 Web 应用程序 UI(它存储了某些数据集参数(为简单起见,假设它们都是单个 Redshift 数据库中的所有数据表,但架构/表名称可能会有所不同,并且 Redshift 在 AWS 中)。Tableau 安装在同一 AWS 账户中的 EC2 实例。
我正在尝试确定一种将“参数”作为数据源(即在 EC2/AWS 上的 Tableau 内的连接字符串中)传递的自动方式,而不是手动创建数据源连接并输入各种客户请求。
用户的流程是说 50 个用户在 UI 上选择各种参数(为简单起见,假设参数在 AWS 中存储为 JSON 文件)-> 参数被发送到 Tableau 并创建数据源 -> 在 Tableau 内建立连接,无需客户在后端“看到”任何东西 -> 客户能够使用 Tableau 中的数据并相应地创建表格和图表。
我如何至少通过批处理作业或云形成设置来做到这一点?“hacky”解决方案很好。
奖励:如果以上内容可以在多个用户之间实时实现,那就太棒了。
** 我愿意使用其他解决此问题的仪表板 UI 工具,例如 QuickSight **
在 EC2 上安装 Tableau 后,我在查找有关如何将参数传递到连接字符串本身和/或什至手动参数化的文章/文档时遇到问题。
例如,customer1 选择“public_schema.dataset_currentdata”和“public_scema.dataset_yesterday”,一个客户选择“other_schema.dataser_currentdata”,所有这些都存在于单个数据库中。
应该生成 3 个数据源(以上各一个),但只有选择的数据源应该对选择它的客户开放,即 customer2 应该只看到 other_schema.dataset_currentdata 的连接。
我在想的一个技巧是在客户提出请求时启动一个安装了 Tableau 的云形成模板,相应地创建连接,完成后只需删除云形成模板。我主要不确定如何建立连接,即传入参数。我不确定旋转 50 个 EC2 是否明智。:D
到目前为止,我看到的一个问题是创建手动提取会限制行数。因此,我认为我需要根据客户请求进行实时连接。因此,我试图解决这个问题。