From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

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