ListS3

Description:

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.

Tags:

Amazon, S3, AWS, list

Properties:

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 nifi.properties file has an entry for the property nifi.sensitive.props.key.

NameDefault ValueAllowable ValuesDescription
BucketNo Description Provided.
Supports Expression Language: true (will be evaluated using variable registry only)
Regionus-west-2
  • AWS GovCloud (US)
  • US East (N. Virginia)
  • US East (Ohio)
  • US West (N. California)
  • US West (Oregon)
  • EU (Ireland)
  • EU (London)
  • EU (Paris)
  • EU (Frankfurt)
  • Asia Pacific (Mumbai)
  • Asia Pacific (Singapore)
  • Asia Pacific (Sydney)
  • Asia Pacific (Tokyo)
  • Asia Pacific (Seoul)
  • South America (Sao Paulo)
  • China (Beijing)
  • China (Ningxia)
  • Canada (Central)
No Description Provided.
Access KeyNo Description Provided.
Sensitive Property: true
Supports Expression Language: true (will be evaluated using variable registry only)
Secret KeyNo Description Provided.
Sensitive Property: true
Supports Expression Language: true (will be evaluated using variable registry only)
Write Object Tagsfalse
  • True
  • False
If set to 'True', the tags associated with the S3 object will be written as FlowFile attributes
Credentials FilePath to a file containing AWS access key and secret key in properties file format.
AWS Credentials Provider serviceController Service API:
AWSCredentialsProviderService
Implementation: AWSCredentialsProviderControllerService
The Controller Service that is used to obtain aws credentials provider
Communications Timeout30 secsNo Description Provided.
SSL Context ServiceController Service API:
SSLContextService
Implementations: StandardRestrictedSSLContextService
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 (will be evaluated using variable registry only)
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 Configuration ServiceController Service API:
ProxyConfigurationService
Implementation: StandardProxyConfigurationService
Specifies the Proxy Configuration Controller Service to proxy network requests. If set, it supersedes proxy settings configured per component. Supported proxies: HTTP + AuthN
Proxy HostProxy host name or IP
Supports Expression Language: true (will be evaluated using variable registry only)
Proxy Host PortProxy host port
Supports Expression Language: true (will be evaluated using variable registry only)
Proxy UsernameProxy username
Supports Expression Language: true (undefined scope)
Proxy PasswordProxy password
Sensitive Property: true
Supports Expression Language: true (undefined scope)
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 (will be evaluated using variable registry only)
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.
Minimum Object Age0 secThe minimum age that an S3 object must be in order to be considered; any object younger than this amount of time (according to last modification date) will be ignored

Relationships:

NameDescription
successFlowFiles are routed to success relationship

Reads Attributes:

None specified.

Writes Attributes:

NameDescription
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
s3.tag.___If 'Write Object Tags' is set to 'True', the tags associated to the S3 object that is being listed will be written as part of the flowfile attributes

State management:

ScopeDescription
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.

Restricted:

This component is not restricted.

Input requirement:

This component does not allow an incoming relationship.

System Resource Considerations:

None specified.

See Also:

FetchS3Object, PutS3Object, DeleteS3Object