Resource: aws_quicksight_data_set

Resource for managing a QuickSight Data Set.

Example Usage

Basic Usage

resource "aws_quicksight_data_set" "example" {
  data_set_id = "example-id"
  name        = "example-name"
  import_mode = "SPICE"

  physical_table_map {
    physical_table_map_id = "example-id"
    s3_source {
      data_source_arn = aws_quicksight_data_source.example.arn
      input_columns {
        name = "Column1"
        type = "STRING"
      }
      upload_settings {
        format = "JSON"
      }
    }
  }
}

With Column Level Permission Rules

resource "aws_quicksight_data_set" "example" {
  data_set_id = "example-id"
  name        = "example-name"
  import_mode = "SPICE"

  physical_table_map {
    physical_table_map_id = "example-id"
    s3_source {
      data_source_arn = aws_quicksight_data_source.example.arn
      input_columns {
        name = "Column1"
        type = "STRING"
      }
      upload_settings {
        format = "JSON"
      }
    }
  }
  column_level_permission_rules {
    column_names = ["Column1"]
    principals   = [aws_quicksight_user.example.arn]
  }
}

With Field Folders

resource "aws_quicksight_data_set" "example" {
  data_set_id = "example-id"
  name        = "example-name"
  import_mode = "SPICE"

  physical_table_map {
    physical_table_map_id = "example-id"
    s3_source {
      data_source_arn = aws_quicksight_data_source.example.arn
      input_columns {
        name = "Column1"
        type = "STRING"
      }
      upload_settings {
        format = "JSON"
      }
    }
  }
  field_folders {
    field_folders_id = "example-id"
    columns          = ["Column1"]
    description      = "example description"
  }
}

With Permissions

resource "aws_quicksight_data_set" "example" {
  data_set_id = "example-id"
  name        = "example-name"
  import_mode = "SPICE"

  physical_table_map {
    physical_table_map_id = "example-id"
    s3_source {
      data_source_arn = aws_quicksight_data_source.example.arn
      input_columns {
        name = "Column1"
        type = "STRING"
      }
      upload_settings {
        format = "JSON"
      }
    }
  }
  permissions {
    actions = [
      "quicksight:DescribeDataSet",
      "quicksight:DescribeDataSetPermissions",
      "quicksight:PassDataSet",
      "quicksight:DescribeIngestion",
      "quicksight:ListIngestions",
    ]
    principal = aws_quicksight_user.example.arn
  }
}

With Row Level Permission Tag Configuration

resource "aws_quicksight_data_set" "example" {
  data_set_id = "example-id"
  name        = "example-name"
  import_mode = "SPICE"

  physical_table_map {
    physical_table_map_id = "example-id"
    s3_source {
      data_source_arn = aws_quicksight_data_source.example.arn
      input_columns {
        name = "Column1"
        type = "STRING"
      }
      upload_settings {
        format = "JSON"
      }
    }
  }
  row_level_permission_tag_configuration {
    status = "ENABLED"
    tag_rules {
      column_name               = "Column1"
      tag_key                   = "tagkey"
      match_all_value           = "*"
      tag_multi_value_delimiter = ","
    }
  }
}

Argument Reference

The following arguments are required:

The following arguments are optional:

physical_table_map

For a physical_table_map item to be valid, only one of custom_sql, relational_table, or s3_source should be configured.

custom_sql

columns

relational_table

input_columns

s3_source

upload_settings

column_groups

geo_spatial_column_group

column_level_permission_rules

data_set_usage_configuration

field_folders

logical_table_map

data_transforms

cast_column_type_operation

create_columns_operation

columns

filter_operation

project_operation

rename_column_operation

tag_column_operation

tags

column_description

untag_column_operation

source

join_instruction

left_join_key_properties

right_join_key_properties

permissions

row_level_permission_data_set

row_level_permission_tag_configuration

refresh_properties

refresh_configuration

incremental_refresh

lookback_window

tag_rules

Attribute Reference

This resource exports the following attributes in addition to the arguments above:

Import

In Terraform v1.5.0 and later, use an import block to import a QuickSight Data Set using the AWS account ID and data set ID separated by a comma (,). For example:

import {
  to = aws_quicksight_data_set.example
  id = "123456789012,example-id"
}

Using terraform import, import a QuickSight Data Set using the AWS account ID and data set ID separated by a comma (,). For example:

% terraform import aws_quicksight_data_set.example 123456789012,example-id