Retrieves a listing of objects from an S3 bucket. For each object that is listed, creates a FlowFile that represents the object so that it can be fetched in conjunction with FetchS3Object. This Processor is designed to run on Primary Node only in a cluster. If the primary node changes, the new Primary Node will pick up where the previous node left off without duplicating all of the data.


Amazon, S3, AWS, list


In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, whether a property supports the NiFi Expression Language, and whether a property is considered "sensitive", meaning that its value will be encrypted. Before entering a value in a sensitive property, ensure that the file has an entry for the property nifi.sensitive.props.key.

NameDefault ValueAllowable ValuesDescription
BucketNo Description Provided.
Supports Expression Language: true
  • us-gov-west-1 us-gov-west-1
  • us-east-1 us-east-1
  • us-east-2 us-east-2
  • us-west-1 us-west-1
  • us-west-2 us-west-2
  • eu-west-1 eu-west-1
  • eu-west-2 eu-west-2
  • eu-central-1 eu-central-1
  • ap-south-1 ap-south-1
  • ap-southeast-1 ap-southeast-1
  • ap-southeast-2 ap-southeast-2
  • ap-northeast-1 ap-northeast-1
  • ap-northeast-2 ap-northeast-2
  • sa-east-1 sa-east-1
  • cn-north-1 cn-north-1
  • ca-central-1 ca-central-1
No Description Provided.
Access KeyNo Description Provided.
Sensitive Property: true
Supports Expression Language: true
Secret KeyNo Description Provided.
Sensitive Property: true
Supports Expression Language: true
Credentials FilePath to a file containing AWS access key and secret key in properties file format.
AWS Credentials Provider serviceController Service API:
Implementation: AWSCredentialsProviderControllerService
The Controller Service that is used to obtain aws credentials provider
Communications Timeout30 secsNo Description Provided.
SSL Context ServiceController Service API:
Implementations: StandardSSLContextService
Specifies an optional SSL Context Service that, if provided, will be used to create connections
Endpoint Override URLEndpoint URL to use instead of the AWS default including scheme, host, port, and path. The AWS libraries select an endpoint URL based on the AWS region, but this property overrides the selected endpoint URL, allowing use with other S3-compatible endpoints.
Supports Expression Language: true
Signer OverrideDefault Signature
  • Default Signature
  • Signature v4
  • Signature v2
The AWS libraries use the default signer but this property allows you to specify a custom signer to support older S3-compatible services.
Proxy HostProxy host name or IP
Supports Expression Language: true
Proxy Host PortProxy host port
Supports Expression Language: true
DelimiterThe string used to delimit directories within the bucket. Please consult the AWS documentation for the correct use of this field.
PrefixThe prefix used to filter the object list. In most cases, it should end with a forward slash ('/').
Supports Expression Language: true
Use Versionsfalse
  • true
  • false
Specifies whether to use S3 versions, if applicable. If false, only the latest version of each object will be returned.
List Type1
  • List Objects V1
  • List Objects V2
Specifies whether to use the original List Objects or the newer List Objects Version 2 endpoint.


successFlowFiles are routed to success relationship

Reads Attributes:

None specified.

Writes Attributes:

s3.bucketThe name of the S3 bucket
filenameThe name of the file
s3.etagThe ETag that can be used to see if the file has changed
s3.isLatestA boolean indicating if this is the latest version of the object
s3.lastModifiedThe last modified time in milliseconds since epoch in UTC time
s3.lengthThe size of the object in bytes
s3.storeClassThe storage class of the object
s3.versionThe version of the object, if applicable

State management:

CLUSTERAfter performing a listing of keys, the timestamp of the newest key is stored, along with the keys that share that same timestamp. This allows the Processor to list only keys that have been added or modified after this date the next time that the Processor is run. State is stored across the cluster so that this Processor can be run on Primary Node only and if a new Primary Node is selected, the new node can pick up where the previous node left off, without duplicating the data.


This component is not restricted.

Input requirement:

This component does not allow an incoming relationship.

See Also:

FetchS3Object, PutS3Object, DeleteS3Object