# S3DestinationConfigurationProperty

Configuration information for delivery of dataset contents to Amazon Simple Storage Service (Amazon S3).

- Source: Generated code
- Type last changed: v2.93.0 · 23 Aug 2023

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_iotanalytics as iotanalytics } from 'aws-cdk-lib';
const s3DestinationConfigurationProperty: iotanalytics.CfnDataset.S3DestinationConfigurationProperty = {
  bucket: 'bucket',
  key: 'key',
  roleArn: 'roleArn',

  // the properties below are optional
  glueConfiguration: {
    databaseName: 'databaseName',
    tableName: 'tableName',
  },
};
```

## Properties

- `bucket`: string (required) — The name of the S3 bucket to which dataset contents are delivered.

- `glueConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataset.GlueConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_iotanalytics.CfnDataset.GlueConfigurationProperty.html) — Configuration information for coordination with AWS Glue , a fully managed extract, transform and load (ETL) service.

- `key`: string (required) — The key of the dataset contents object in an S3 bucket.

  Each object has a key that is a unique identifier. Each object has exactly one key.

  You can create a unique key with the following options:

  - Use `!{iotanalytics:scheduleTime}` to insert the time of a scheduled SQL query run.
  - Use `!{iotanalytics:versionId}` to insert a unique hash that identifies a dataset content.
  - Use `!{iotanalytics:creationTime}` to insert the creation time of a dataset content.

  The following example creates a unique key for a CSV file: `dataset/mydataset/!{iotanalytics:scheduleTime}/!{iotanalytics:versionId}.csv`

  > If you don't use `!{iotanalytics:versionId}` to specify the key, you might get duplicate keys. For example, you might have two dataset contents with the same `scheduleTime` but different `versionId` s. This means that one dataset content overwrites the other.

- `roleArn`: string (required) — The ARN of the role that grants ITA permission to interact with your Amazon S3 and AWS Glue resources.
