NAME

Paws::Quicksight::CreateDataSet - Arguments for method CreateDataSet on Paws::Quicksight

DESCRIPTION

This class represents the parameters used for calling the method CreateDataSet on the Amazon QuickSight service. Use the attributes of this class as arguments to method CreateDataSet.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateDataSet.

SYNOPSIS

my $quicksight = Paws->service('Quicksight');
my $CreateDataSetResponse = $quicksight->CreateDataSet(
  AwsAccountId     => 'MyAwsAccountId',
  DataSetId        => 'MyResourceId',
  ImportMode       => 'SPICE',
  Name             => 'MyResourceName',
  PhysicalTableMap => {
    'MyPhysicalTableId' => {
      CustomSql => {
        DataSourceArn => 'MyArn',
        Name          => 'MyCustomSqlName',    # min: 1, max: 64
        SqlQuery      => 'MySqlQuery',         # min: 1, max: 65536
        Columns       => [
          {
            Name => 'MyColumnName',    # min: 1, max: 128
            Type => 'STRING'
            , # values: STRING, INTEGER, DECIMAL, DATETIME, BIT, BOOLEAN, JSON

          },
          ...
        ],    # min: 1, max: 2048; OPTIONAL
      },    # OPTIONAL
      RelationalTable => {
        DataSourceArn => 'MyArn',
        InputColumns  => [
          {
            Name => 'MyColumnName',    # min: 1, max: 128
            Type => 'STRING'
            , # values: STRING, INTEGER, DECIMAL, DATETIME, BIT, BOOLEAN, JSON

          },
          ...
        ],    # min: 1, max: 2048; OPTIONAL
        Name    => 'MyRelationalTableName',       # min: 1, max: 64
        Catalog => 'MyRelationalTableCatalog',    # max: 256; OPTIONAL
        Schema  => 'MyRelationalTableSchema',     # max: 64; OPTIONAL
      },    # OPTIONAL
      S3Source => {
        DataSourceArn => 'MyArn',
        InputColumns  => [
          {
            Name => 'MyColumnName',    # min: 1, max: 128
            Type => 'STRING'
            , # values: STRING, INTEGER, DECIMAL, DATETIME, BIT, BOOLEAN, JSON

          },
          ...
        ],    # min: 1, max: 2048; OPTIONAL
        UploadSettings => {
          ContainsHeader => 1,                # OPTIONAL
          Delimiter      => 'MyDelimiter',    # min: 1, max: 1; OPTIONAL
          Format         =>
            'CSV',    # values: CSV, TSV, CLF, ELF, XLSX, JSON; OPTIONAL
          StartFromRow  => 1,    # min: 1; OPTIONAL
          TextQualifier =>
            'DOUBLE_QUOTE',   # values: DOUBLE_QUOTE, SINGLE_QUOTE; OPTIONAL
        },    # OPTIONAL
      },    # OPTIONAL
    },    # key: min: 1, max: 64
  },
  ColumnGroups => [
    {
      GeoSpatialColumnGroup => {
        Columns => [
          'MyColumnName', ...    # min: 1, max: 128
        ],    # min: 1, max: 16
        CountryCode => 'US',                   # values: US
        Name        => 'MyColumnGroupName',    # min: 1, max: 64

      },    # OPTIONAL
    },
    ...
  ],    # OPTIONAL
  ColumnLevelPermissionRules => [
    {
      ColumnNames => [ 'MyString', ... ],    # min: 1; OPTIONAL
      Principals  => [ 'MyString', ... ],    # min: 1, max: 100; OPTIONAL
    },
    ...
  ],    # OPTIONAL
  FieldFolders => {
    'MyFieldFolderPath' => {
      Columns     => [ 'MyString', ... ],           # max: 5000; OPTIONAL
      Description => 'MyFieldFolderDescription',    # max: 500; OPTIONAL
    },    # key: min: 1, max: 1000
  },    # OPTIONAL
  LogicalTableMap => {
    'MyLogicalTableId' => {
      Alias  => 'MyLogicalTableAlias',    # min: 1, max: 64
      Source => {
        JoinInstruction => {
          LeftOperand  => 'MyLogicalTableId',    # min: 1, max: 64
          OnClause     => 'MyOnClause',          # min: 1, max: 512
          RightOperand => 'MyLogicalTableId',    # min: 1, max: 64
          Type         => 'INNER',    # values: INNER, OUTER, LEFT, RIGHT
          LeftJoinKeyProperties => {
            UniqueKey => 1,           # OPTIONAL
          },    # OPTIONAL
          RightJoinKeyProperties => {
            UniqueKey => 1,    # OPTIONAL
          },    # OPTIONAL
        },    # OPTIONAL
        PhysicalTableId => 'MyPhysicalTableId',    # min: 1, max: 64
      },
      DataTransforms => [
        {
          CastColumnTypeOperation => {
            ColumnName    => 'MyColumnName',    # min: 1, max: 128
            NewColumnType =>
              'STRING',    # values: STRING, INTEGER, DECIMAL, DATETIME
            Format => 'MyTypeCastFormat',    # max: 32; OPTIONAL
          },    # OPTIONAL
          CreateColumnsOperation => {
            Columns => [
              {
                ColumnId   => 'MyColumnId',      # min: 1, max: 64
                ColumnName => 'MyColumnName',    # min: 1, max: 128
                Expression => 'MyExpression',    # min: 1, max: 4096

              },
              ...
            ],    # min: 1, max: 128

          },    # OPTIONAL
          FilterOperation => {
            ConditionExpression => 'MyExpression',    # min: 1, max: 4096

          },    # OPTIONAL
          ProjectOperation => {
            ProjectedColumns => [ 'MyString', ... ],    # min: 1, max: 2000

          },    # OPTIONAL
          RenameColumnOperation => {
            ColumnName    => 'MyColumnName',    # min: 1, max: 128
            NewColumnName => 'MyColumnName',    # min: 1, max: 128

          },    # OPTIONAL
          TagColumnOperation => {
            ColumnName => 'MyColumnName',    # min: 1, max: 128
            Tags       => [
              {
                ColumnDescription => {
                  Text => 'MyColumnDescriptiveText',    # max: 500; OPTIONAL
                },    # OPTIONAL
                ColumnGeographicRole => 'COUNTRY'
                , # values: COUNTRY, STATE, COUNTY, CITY, POSTCODE, LONGITUDE, LATITUDE; OPTIONAL
              },
              ...
            ],    # min: 1, max: 16

          },    # OPTIONAL
        },
        ...
      ],    # min: 1, max: 2048; OPTIONAL
    },    # key: min: 1, max: 64
  },    # OPTIONAL
  Permissions => [
    {
      Actions   => [ 'MyString', ... ],    # min: 1, max: 16
      Principal => 'MyPrincipal',          # min: 1, max: 256

    },
    ...
  ],    # OPTIONAL
  RowLevelPermissionDataSet => {
    Arn              => 'MyArn',
    PermissionPolicy => 'GRANT_ACCESS',  # values: GRANT_ACCESS, DENY_ACCESS
    FormatVersion => 'VERSION_1',   # values: VERSION_1, VERSION_2; OPTIONAL
    Namespace     => 'MyNamespace', # max: 64; OPTIONAL
  },    # OPTIONAL
  Tags => [
    {
      Key   => 'MyTagKey',      # min: 1, max: 128
      Value => 'MyTagValue',    # min: 1, max: 256

    },
    ...
  ],    # OPTIONAL
);

# Results:
my $Arn          = $CreateDataSetResponse->Arn;
my $DataSetId    = $CreateDataSetResponse->DataSetId;
my $IngestionArn = $CreateDataSetResponse->IngestionArn;
my $IngestionId  = $CreateDataSetResponse->IngestionId;
my $RequestId    = $CreateDataSetResponse->RequestId;
my $Status       = $CreateDataSetResponse->Status;

# Returns a L<Paws::Quicksight::CreateDataSetResponse> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/quicksight/CreateDataSet

ATTRIBUTES

REQUIRED AwsAccountId => Str

The AWS account ID.

ColumnGroups => ArrayRef[Paws::Quicksight::ColumnGroup]

Groupings of columns that work together in certain QuickSight features. Currently, only geospatial hierarchy is supported.

ColumnLevelPermissionRules => ArrayRef[Paws::Quicksight::ColumnLevelPermissionRule]

A set of one or more definitions of a ColumnLevelPermissionRule .

REQUIRED DataSetId => Str

An ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

FieldFolders => Paws::Quicksight::FieldFolderMap

The folder that contains fields and nested subfolders for your dataset.

REQUIRED ImportMode => Str

Indicates whether you want to import the data into SPICE.

Valid values are: "SPICE", "DIRECT_QUERY"

LogicalTableMap => Paws::Quicksight::LogicalTableMap

Configures the combination and transformation of the data from the physical tables.

REQUIRED Name => Str

The display name for the dataset.

Permissions => ArrayRef[Paws::Quicksight::ResourcePermission]

A list of resource permissions on the dataset.

REQUIRED PhysicalTableMap => Paws::Quicksight::PhysicalTableMap

Declares the physical tables that are available in the underlying data sources.

RowLevelPermissionDataSet => Paws::Quicksight::RowLevelPermissionDataSet

The row-level security configuration for the data that you want to create.

Tags => ArrayRef[Paws::Quicksight::Tag]

Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateDataSet in Paws::Quicksight

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues