在代码中创建 Amazon Quicksight 数据集并通过控制台使用它们

Creating Amazon Quicksight datasets in code and using them through the console

我正在用代码 (boto3) 创建数据源/数据集,但这些没有显示在控制台中。 尽管数据集以 list_data_sets 列出,但它们似乎在控制台中不可用。

我需要能够在代码中创建所有必要的数据集,然后能够使用它们在控制台中创建新的分析/仪表板。

我使用的是 QuickSight 标准版。 这可以做到吗?或者,只能在企业版中完成吗?或者,根本没有?

谢谢

根据 QuickSight pricing page "APIs" 在标准版中不可用。到底是什么意思,我也不知道

但是,假设可以调用 create-data-set,需要记住的一件重要事情是,用户必须拥有数据集权限才能查看它们。

根据boto docs,这些权限应包含在以下架构中

    Permissions=[
        {
            'Principal': 'string',
            'Actions': [
                'string',
            ]
        },
    ]

在我的代码中,我使用以下内容与 all-users 组共享(注意组主体,将 AWS_REGIONACCOUNT_ID 替换为您的值)

    Permissions= [
      {
        'Principal': 'arn:aws:quicksight:AWS_REGION:ACCOUNT_ID:group/default/all-users',
        'Actions': [
          'quicksight:DescribeDataSet',
          'quicksight:DescribeDataSetPermissions',
          'quicksight:PassDataSet',
          'quicksight:DescribeIngestion',
          'quicksight:ListIngestions'
        ]
      }
    ],

我相信对于个人用户也可以这样做,使用 user/default/user.name 而不是 group/default/all-users 的 ARN 资源。

对于数据源,我使用的权限集是

        'Actions': [
          'quicksight:DescribeDataSource',
          'quicksight:DescribeDataSourcePermissions',
          'quicksight:UpdateDataSource',
          'quicksight:UpdateDataSourcePermissions',
          'quicksight:DeleteDataSource',
          'quicksight:PassDataSource'
        ]