# S3StorageConfigurationProperty

S3 storage configuration that describes the destination bucket and how delivered objects are stored.

- Source: Generated code
- Type last changed: v2.272.0 · 30 Sep 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_kinesis as kinesis } from 'aws-cdk-lib';
const s3StorageConfigurationProperty: kinesis.CfnChannel.S3StorageConfigurationProperty = {
  bucketArn: 'bucketArn',
  compressionType: 'compressionType',
  expectedBucketOwner: 'expectedBucketOwner',

  // the properties below are optional
  outputKeyTemplate: 'outputKeyTemplate',
  storageClass: 'storageClass',
};
```

## Properties

- `bucketArn`: string (required) — The ARN of the S3 bucket for record delivery.

  Different channels can deliver to the same bucket. Buckets can be cross-account but must be in the same region as the channel.

- `compressionType`: string (required) — The compression algorithm applied to delivered objects.

- `expectedBucketOwner`: string (required) — The AWS account ID of the expected owner of the destination S3 bucket.

  Used to verify bucket ownership before delivery.

- `outputKeyTemplate`: string — Optional template for the S3 object key path.

  Supports placeholders in the form !{name}: !{channel-name}, !{channel-id}, !{stream-name}, !{yyyy}, !{yy}, !{MM}, !{dd}, !{HH}, !{mm}, and !{extension} (a literal file extension can be supplied as !{extension:.json.gz}). When omitted, the service uses the default 'kinesis-channel/!{channel-name}/!{channel-id}/!{yyyy}/!{MM}/!{dd}/!{HH}/!{channel-name}-!{channel-id}-!{yyyy}-!{MM}-!{dd}-!{HH}-!{mm}!{extension}'.

- `storageClass`: string = "STANDARD" — The S3 storage class for delivered objects.
