NAME

Paws::Glue::CreateTable - Arguments for method CreateTable on Paws::Glue

DESCRIPTION

This class represents the parameters used for calling the method CreateTable on the AWS Glue service. Use the attributes of this class as arguments to method CreateTable.

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

SYNOPSIS

my $glue = Paws->service('Glue');
my $CreateTableResponse = $glue->CreateTable(
  DatabaseName => 'MyNameString',
  TableInput   => {
    Name             => 'MyNameString',           # min: 1, max: 255
    Description      => 'MyDescriptionString',    # max: 2048; OPTIONAL
    LastAccessTime   => '1970-01-01T01:00:00',    # OPTIONAL
    LastAnalyzedTime => '1970-01-01T01:00:00',    # OPTIONAL
    Owner            => 'MyNameString',           # min: 1, max: 255
    Parameters       => {
      'MyKeyString' =>
        'MyParametersMapValue',  # key: min: 1, max: 255, value: max: 512000
    },    # OPTIONAL
    PartitionKeys => [
      {
        Name       => 'MyNameString',       # min: 1, max: 255
        Comment    => 'MyCommentString',    # max: 255; OPTIONAL
        Parameters => {
          'MyKeyString' => 'MyParametersMapValue'
          ,    # key: min: 1, max: 255, value: max: 512000
        },    # OPTIONAL
        Type => 'MyColumnTypeString',    # max: 131072; OPTIONAL
      },
      ...
    ],    # OPTIONAL
    Retention         => 1,    # OPTIONAL
    StorageDescriptor => {
      BucketColumns => [
        'MyNameString', ...    # min: 1, max: 255
      ],    # OPTIONAL
      Columns => [
        {
          Name       => 'MyNameString',       # min: 1, max: 255
          Comment    => 'MyCommentString',    # max: 255; OPTIONAL
          Parameters => {
            'MyKeyString' => 'MyParametersMapValue'
            ,    # key: min: 1, max: 255, value: max: 512000
          },    # OPTIONAL
          Type => 'MyColumnTypeString',    # max: 131072; OPTIONAL
        },
        ...
      ],    # OPTIONAL
      Compressed      => 1,                     # OPTIONAL
      InputFormat     => 'MyFormatString',      # max: 128; OPTIONAL
      Location        => 'MyLocationString',    # max: 2056; OPTIONAL
      NumberOfBuckets => 1,                     # OPTIONAL
      OutputFormat    => 'MyFormatString',      # max: 128; OPTIONAL
      Parameters      => {
        'MyKeyString' => 'MyParametersMapValue'
        ,    # key: min: 1, max: 255, value: max: 512000
      },    # OPTIONAL
      SchemaReference => {
        SchemaId => {
          RegistryName =>
            'MySchemaRegistryNameString',    # min: 1, max: 255; OPTIONAL
          SchemaArn  => 'MyGlueResourceArn', # min: 1, max: 10240; OPTIONAL
          SchemaName =>
            'MySchemaRegistryNameString',    # min: 1, max: 255; OPTIONAL
        },    # OPTIONAL
        SchemaVersionId =>
          'MySchemaVersionIdString',    # min: 36, max: 36; OPTIONAL
        SchemaVersionNumber => 1,       # min: 1, max: 100000; OPTIONAL
      },    # OPTIONAL
      SerdeInfo => {
        Name       => 'MyNameString',    # min: 1, max: 255
        Parameters => {
          'MyKeyString' => 'MyParametersMapValue'
          ,    # key: min: 1, max: 255, value: max: 512000
        },    # OPTIONAL
        SerializationLibrary => 'MyNameString',    # min: 1, max: 255
      },    # OPTIONAL
      SkewedInfo => {
        SkewedColumnNames => [
          'MyNameString', ...    # min: 1, max: 255
        ],    # OPTIONAL
        SkewedColumnValueLocationMaps =>
          { 'MyColumnValuesString' => 'MyColumnValuesString', },  # OPTIONAL
        SkewedColumnValues => [ 'MyColumnValuesString', ... ],    # OPTIONAL
      },    # OPTIONAL
      SortColumns => [
        {
          Column    => 'MyNameString',    # min: 1, max: 255
          SortOrder => 1,                 # max: 1

        },
        ...
      ],    # OPTIONAL
      StoredAsSubDirectories => 1,    # OPTIONAL
    },    # OPTIONAL
    TableType   => 'MyTableTypeString',    # max: 255; OPTIONAL
    TargetTable => {
      CatalogId    => 'MyCatalogIdString',    # min: 1, max: 255; OPTIONAL
      DatabaseName => 'MyNameString',         # min: 1, max: 255
      Name         => 'MyNameString',         # min: 1, max: 255
    },    # OPTIONAL
    ViewExpandedText => 'MyViewTextString',    # max: 409600; OPTIONAL
    ViewOriginalText => 'MyViewTextString',    # max: 409600; OPTIONAL
  },
  CatalogId        => 'MyCatalogIdString',     # OPTIONAL
  PartitionIndexes => [
    {
      IndexName => 'MyNameString',             # min: 1, max: 255
      Keys      => [
        'MyNameString', ...                    # min: 1, max: 255
      ],    # min: 1

    },
    ...
  ],    # OPTIONAL
);

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/glue/CreateTable

ATTRIBUTES

CatalogId => Str

The ID of the Data Catalog in which to create the Table. If none is supplied, the Amazon Web Services account ID is used by default.

REQUIRED DatabaseName => Str

The catalog database in which to create the new table. For Hive compatibility, this name is entirely lowercase.

PartitionIndexes => ArrayRef[Paws::Glue::PartitionIndex]

A list of partition indexes, PartitionIndex structures, to create in the table.

REQUIRED TableInput => Paws::Glue::TableInput

The TableInput object that defines the metadata table to create in the catalog.

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateTable in Paws::Glue

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