# IItemReader

Base interface for Item Reader configurations.

Extends: IItemReader
Implemented by: S3CsvItemReader, S3JsonItemReader, S3JsonLItemReader, S3ManifestItemReader, S3ObjectsItemReader

- Source: [`aws-stepfunctions/lib/states/distributed-map/item-reader.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-stepfunctions/lib/states/distributed-map/item-reader.ts#L11)
- Type last changed: v2.180.0 · 21 Feb 2025

## Properties

- `bucket`: [IBucket](/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html) — S3 Bucket containing objects to iterate over or a file with a list to iterate over.

- `bucketNamePath`: string — S3 bucket name containing objects to iterate over or a file with a list to iterate over, as JsonPath.

- `maxItems`: number — Limits the number of items passed to the Distributed Map state.

  **Default:** Distributed Map state will iterate over all items provided by the ItemReader

- `resource`: string — The Amazon S3 API action that Step Functions must invoke depending on the specified dataset.

## Methods

- `providePolicyStatements(): PolicyStatement[]` — Compile policy statements to provide relevent permissions to the state machine.

- `render(queryLanguage?: QueryLanguage): any` — Render the ItemReader as JSON object.

- `validateItemReader(): string[]` — Validate that ItemReader contains exactly either.
