Class S3JsonItemReader

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.stepfunctions.S3JsonItemReader
All Implemented Interfaces:
IItemReader, software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-12-06T14:43:27.753Z") @Stability(Stable) public class S3JsonItemReader extends software.amazon.jsii.JsiiObject implements IItemReader
Item Reader configuration for iterating over items in a JSON array stored in a S3 file.

Example:

 import software.amazon.awscdk.services.s3.*;
 /**
  * Tree view of bucket:
  *  my-bucket
  *  |
  *  +--input.json
  *  |
  *  ...
  *
  * File content of input.json:
  *  [
  *    "item1",
  *    "item2"
  *  ]
  */
 Bucket bucket = Bucket.Builder.create(this, "Bucket")
         .bucketName("my-bucket")
         .build();
 DistributedMap distributedMap = DistributedMap.Builder.create(this, "DistributedMap")
         .itemReader(S3JsonItemReader.Builder.create()
                 .bucket(bucket)
                 .key("input.json")
                 .build())
         .build();
 distributedMap.itemProcessor(new Pass(this, "Pass"));
 
  • Constructor Details

    • S3JsonItemReader

      protected S3JsonItemReader(software.amazon.jsii.JsiiObjectRef objRef)
    • S3JsonItemReader

      protected S3JsonItemReader(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • S3JsonItemReader

      @Stability(Stable) public S3JsonItemReader(@NotNull S3FileItemReaderProps props)
      Parameters:
      props - This parameter is required.
  • Method Details

    • providePolicyStatements

      @Stability(Stable) @NotNull public List<PolicyStatement> providePolicyStatements()
      Compile policy statements to provide relevent permissions to the state machine.
      Specified by:
      providePolicyStatements in interface IItemReader
    • render

      @Stability(Stable) @NotNull public Object render()
      Renders the ItemReader configuration as JSON object.

      Specified by:
      render in interface IItemReader
      Returns:
      • JSON object
    • validateItemReader

      @Stability(Stable) @NotNull public List<String> validateItemReader()
      Validate that ItemReader contains exactly either.

      Specified by:
      validateItemReader in interface IItemReader
      See Also:
    • getBucket

      @Stability(Stable) @NotNull public IBucket getBucket()
      S3 Bucket containing a file with a list to iterate over.
      Specified by:
      getBucket in interface IItemReader
    • getInputType

      @Stability(Stable) @NotNull protected String getInputType()
    • getKey

      @Stability(Stable) @NotNull public String getKey()
      S3 key of a file with a list to iterate over.
    • getResource

      @Stability(Stable) @NotNull public String getResource()
      ARN for the getObject method of the S3 API This API method is used to iterate all objects in the S3 bucket/prefix.
      Specified by:
      getResource in interface IItemReader
    • getBucketNamePath

      @Stability(Stable) @Nullable public String getBucketNamePath()
      S3 bucket name containing objects to iterate over or a file with a list to iterate over, as JsonPath.
      Specified by:
      getBucketNamePath in interface IItemReader
    • getMaxItems

      @Stability(Stable) @Nullable public Number getMaxItems()
      Limits the number of items passed to the Distributed Map state.

      Default: - No maxItems

      Specified by:
      getMaxItems in interface IItemReader