S3JsonItemReader

class aws_cdk.aws_stepfunctions.S3JsonItemReader(*, key, bucket=None, bucket_name_path=None, max_items=None)

Bases: object

Item Reader configuration for iterating over items in a JSON array stored in a S3 file.

ExampleMetadata:

infused

Example:

import aws_cdk.aws_s3 as s3


#
# Tree view of bucket:
#  my-bucket
#  |
#  +--input.json
#  |
#  ...
#
# File content of input.json:
#  [
#    "item1",
#    "item2"
#  ]
#
bucket = s3.Bucket(self, "Bucket",
    bucket_name="my-bucket"
)

distributed_map = sfn.DistributedMap(self, "DistributedMap",
    item_reader=sfn.S3JsonItemReader(
        bucket=bucket,
        key="input.json"
    )
)
distributed_map.item_processor(sfn.Pass(self, "Pass"))
Parameters:
  • key (str) – Key of file stored in S3 bucket containing an array to iterate over.

  • bucket (Optional[IBucket]) – S3 Bucket containing objects to iterate over or a file with a list to iterate over. Default: - S3 bucket will be determined from

  • bucket_name_path (Optional[str]) – S3 bucket name containing objects to iterate over or a file with a list to iterate over, as JsonPath. Default: - S3 bucket will be determined from

  • max_items (Union[int, float, None]) – Limits the number of items passed to the Distributed Map state. Default: - Distributed Map state will iterate over all items provided by the ItemReader

Methods

provide_policy_statements()

Compile policy statements to provide relevent permissions to the state machine.

Return type:

List[PolicyStatement]

render()

Renders the ItemReader configuration as JSON object.

Return type:

Any

Returns:

  • JSON object

validate_item_reader()

Validate that ItemReader contains exactly either.

See:

bucketNamePath

Return type:

List[str]

Attributes

bucket

S3 Bucket containing a file with a list to iterate over.

bucket_name_path

S3 bucket name containing objects to iterate over or a file with a list to iterate over, as JsonPath.

key

S3 key of a file with a list to iterate over.

max_items

Limits the number of items passed to the Distributed Map state.

Default:
  • No maxItems

resource

ARN for the getObject method of the S3 API This API method is used to iterate all objects in the S3 bucket/prefix.