<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>ListS3</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">ListS3</h1><h2>Description: </h2><p>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.</p><p><a href="additionalDetails.html">Additional Details...</a></p><h3>Tags: </h3><p>Amazon, S3, AWS, list</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properties"><tr><th>Display Name</th><th>API Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Listing Strategy</strong></td><td>listing-strategy</td><td id="default-value">Tracking Timestamps</td><td id="allowable-values"><ul><li>Tracking Timestamps <img src="../../../../../html/images/iconInfo.png" alt="This strategy tracks the latest timestamp of listed entity to determine new/updated entities. Since it only tracks few timestamps, it can manage listing state efficiently. This strategy will not pick up any newly added or modified entity if their timestamps are older than the tracked latest timestamp. Also may miss files when multiple subdirectories are being written at the same time while listing is running." title="This strategy tracks the latest timestamp of listed entity to determine new/updated entities. Since it only tracks few timestamps, it can manage listing state efficiently. This strategy will not pick up any newly added or modified entity if their timestamps are older than the tracked latest timestamp. Also may miss files when multiple subdirectories are being written at the same time while listing is running."></img></li><li>Tracking Entities <img src="../../../../../html/images/iconInfo.png" alt="This strategy tracks information of all the listed entities within the latest 'Entity Tracking Time Window' to determine new/updated entities. This strategy can pick entities having old timestamp that can be missed with 'Tracing Timestamps'. Works even when multiple subdirectories are being written at the same time while listing is running. However an additional DistributedMapCache controller service is required and more JVM heap memory is used. For more information on how the 'Entity Tracking Time Window' property works, see the description." title="This strategy tracks information of all the listed entities within the latest 'Entity Tracking Time Window' to determine new/updated entities. This strategy can pick entities having old timestamp that can be missed with 'Tracing Timestamps'. Works even when multiple subdirectories are being written at the same time while listing is running. However an additional DistributedMapCache controller service is required and more JVM heap memory is used. For more information on how the 'Entity Tracking Time Window' property works, see the description."></img></li></ul></td><td id="description">Specify how to determine new/updated entities. See each strategy descriptions for detail.</td></tr><tr><td id="name"><strong>Entity Tracking State Cache</strong></td><td>et-state-cache</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>DistributedMapCacheClient<br/><strong>Implementations: </strong><a href="../../../nifi-distributed-cache-services-nar/1.19.1/org.apache.nifi.distributed.cache.client.DistributedMapCacheClientService/index.html">DistributedMapCacheClientService</a><br/><a href="../../../nifi-redis-nar/1.19.1/org.apache.nifi.redis.service.RedisDistributedMapCacheClientService/index.html">RedisDistributedMapCacheClientService</a><br/><a href="../../../nifi-hbase_1_1_2-client-service-nar/1.19.1/org.apache.nifi.hbase.HBase_1_1_2_ClientMapCacheService/index.html">HBase_1_1_2_ClientMapCacheService</a><br/><a href="../../../nifi-hazelcast-services-nar/1.19.1/org.apache.nifi.hazelcast.services.cacheclient.HazelcastMapCacheClient/index.html">HazelcastMapCacheClient</a><br/><a href="../../../nifi-hbase_2-client-service-nar/1.19.1/org.apache.nifi.hbase.HBase_2_ClientMapCacheService/index.html">HBase_2_ClientMapCacheService</a><br/><a href="../../../nifi-cassandra-services-nar/1.19.1/org.apache.nifi.controller.cassandra.CassandraDistributedMapCache/index.html">CassandraDistributedMapCache</a><br/><a href="../../../nifi-couchbase-nar/1.19.1/org.apache.nifi.couchbase.CouchbaseMapCacheClient/index.html">CouchbaseMapCacheClient</a></td><td id="description">Listed entities are stored in the specified cache storage so that this processor can resume listing across NiFi restart or in case of primary node change. 'Tracking Entities' strategy require tracking information of all listed entities within the last 'Tracking Time Window'. To support large number of entities, the strategy uses DistributedMapCache instead of managed state. Cache key format is 'ListedEntities::{processorId}(::{nodeId})'. If it tracks per node listed entities, then the optional '::{nodeId}' part is added to manage state separately. E.g. cluster wide cache key = 'ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b', per node cache key = 'ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3' The stored cache content is Gzipped JSON string. The cache key will be deleted when target listing configuration is changed. Used by 'Tracking Entities' strategy.<br/><br/><strong>This Property is only considered if </strong><strong>the [Listing Strategy] Property has a value of "Tracking Entities".</strong></td></tr><tr><td id="name">Entity Tracking Initial Listing Target</td><td>et-initial-listing-target</td><td id="default-value">All Available</td><td id="allowable-values"><ul><li>Tracking Time Window <img src="../../../../../html/images/iconInfo.png" alt="Ignore entities having timestamp older than the specified 'Tracking Time Window' at the initial listing activity." title="Ignore entities having timestamp older than the specified 'Tracking Time Window' at the initial listing activity."></img></li><li>All Available <img src="../../../../../html/images/iconInfo.png" alt="Regardless of entities timestamp, all existing entities will be listed at the initial listing activity." title="Regardless of entities timestamp, all existing entities will be listed at the initial listing activity."></img></li></ul></td><td id="description">Specify how initial listing should be handled. Used by 'Tracking Entities' strategy.<br/><br/><strong>This Property is only considered if </strong><strong>the [Listing Strategy] Property has a value of "Tracking Entities".</strong></td></tr><tr><td id="name"><strong>Entity Tracking Time Window</strong></td><td>et-time-window</td><td id="default-value">3 hours</td><td id="allowable-values"></td><td id="description">Specify how long this processor should track already-listed entities. 'Tracking Entities' strategy can pick any entity whose timestamp is inside the specified time window. For example, if set to '30 minutes', any entity having timestamp in recent 30 minutes will be the listing target when this processor runs. A listed entity is considered 'new/updated' and a FlowFile is emitted if one of following condition meets: 1. does not exist in the already-listed entities, 2. has newer timestamp than the cached entity, 3. has different size than the cached entity. If a cached entity's timestamp becomes older than specified time window, that entity will be removed from the cached already-listed entities. Used by 'Tracking Entities' strategy.<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong><br/><br/><strong>This Property is only considered if </strong><strong>the [Entity Tracking Initial Listing Target] Property has a value of "Tracking Time Window".</strong></td></tr><tr><td id="name"><strong>Bucket</strong></td><td>Bucket</td><td></td><td id="allowable-values"></td><td id="description">No Description Provided.<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name"><strong>Region</strong></td><td>Region</td><td id="default-value">US West (Oregon)</td><td id="allowable-values"><ul><li>AWS GovCloud (US) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : us-gov-west-1" title="AWS Region Code : us-gov-west-1"></img></li><li>AWS GovCloud (US-East) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : us-gov-east-1" title="AWS Region Code : us-gov-east-1"></img></li><li>US East (N. Virginia) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : us-east-1" title="AWS Region Code : us-east-1"></img></li><li>US East (Ohio) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : us-east-2" title="AWS Region Code : us-east-2"></img></li><li>US West (N. California) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : us-west-1" title="AWS Region Code : us-west-1"></img></li><li>US West (Oregon) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : us-west-2" title="AWS Region Code : us-west-2"></img></li><li>EU (Ireland) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : eu-west-1" title="AWS Region Code : eu-west-1"></img></li><li>EU (London) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : eu-west-2" title="AWS Region Code : eu-west-2"></img></li><li>EU (Paris) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : eu-west-3" title="AWS Region Code : eu-west-3"></img></li><li>EU (Frankfurt) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : eu-central-1" title="AWS Region Code : eu-central-1"></img></li><li>EU (Stockholm) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : eu-north-1" title="AWS Region Code : eu-north-1"></img></li><li>EU (Milan) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : eu-south-1" title="AWS Region Code : eu-south-1"></img></li><li>Asia Pacific (Hong Kong) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : ap-east-1" title="AWS Region Code : ap-east-1"></img></li><li>Asia Pacific (Mumbai) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : ap-south-1" title="AWS Region Code : ap-south-1"></img></li><li>Asia Pacific (Singapore) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : ap-southeast-1" title="AWS Region Code : ap-southeast-1"></img></li><li>Asia Pacific (Sydney) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : ap-southeast-2" title="AWS Region Code : ap-southeast-2"></img></li><li>Asia Pacific (Jakarta) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : ap-southeast-3" title="AWS Region Code : ap-southeast-3"></img></li><li>Asia Pacific (Tokyo) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : ap-northeast-1" title="AWS Region Code : ap-northeast-1"></img></li><li>Asia Pacific (Seoul) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : ap-northeast-2" title="AWS Region Code : ap-northeast-2"></img></li><li>Asia Pacific (Osaka) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : ap-northeast-3" title="AWS Region Code : ap-northeast-3"></img></li><li>South America (Sao Paulo) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : sa-east-1" title="AWS Region Code : sa-east-1"></img></li><li>China (Beijing) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : cn-north-1" title="AWS Region Code : cn-north-1"></img></li><li>China (Ningxia) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : cn-northwest-1" title="AWS Region Code : cn-northwest-1"></img></li><li>Canada (Central) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : ca-central-1" title="AWS Region Code : ca-central-1"></img></li><li>Middle East (UAE) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : me-central-1" title="AWS Region Code : me-central-1"></img></li><li>Middle East (Bahrain) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : me-south-1" title="AWS Region Code : me-south-1"></img></li><li>Africa (Cape Town) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : af-south-1" title="AWS Region Code : af-south-1"></img></li><li>US ISO East <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : us-iso-east-1" title="AWS Region Code : us-iso-east-1"></img></li><li>US ISOB East (Ohio) <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : us-isob-east-1" title="AWS Region Code : us-isob-east-1"></img></li><li>US ISO West <img src="../../../../../html/images/iconInfo.png" alt="AWS Region Code : us-iso-west-1" title="AWS Region Code : us-iso-west-1"></img></li></ul></td><td id="description">No Description Provided.</td></tr><tr><td id="name">Access Key ID</td><td>Access Key</td><td></td><td id="allowable-values"></td><td id="description">No Description Provided.<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Secret Access Key</td><td>Secret Key</td><td></td><td id="allowable-values"></td><td id="description">No Description Provided.<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Record Writer</td><td>record-writer</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>RecordSetWriterFactory<br/><strong>Implementations: </strong><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.text.FreeFormTextRecordSetWriter/index.html">FreeFormTextRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.avro.AvroRecordSetWriter/index.html">AvroRecordSetWriter</a><br/><a href="../../../nifi-scripting-nar/1.19.1/org.apache.nifi.record.script.ScriptedRecordSetWriter/index.html">ScriptedRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.csv.CSVRecordSetWriter/index.html">CSVRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.xml.XMLRecordSetWriter/index.html">XMLRecordSetWriter</a><br/><a href="../../../nifi-parquet-nar/1.19.1/org.apache.nifi.parquet.ParquetRecordSetWriter/index.html">ParquetRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.json.JsonRecordSetWriter/index.html">JsonRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.lookup.RecordSetWriterLookup/index.html">RecordSetWriterLookup</a></td><td id="description">Specifies the Record Writer to use for creating the listing. If not specified, one FlowFile will be created for each entity that is listed. If the Record Writer is specified, all entities will be written to a single FlowFile instead of adding attributes to individual FlowFiles.</td></tr><tr><td id="name"><strong>Minimum Object Age</strong></td><td>min-age</td><td id="default-value">0 sec</td><td id="allowable-values"></td><td id="description">The 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</td></tr><tr><td id="name">Maximum Object Age</td><td>max-age</td><td></td><td id="allowable-values"></td><td id="description">The maximum age that an S3 object can be in order to be considered; any object older than this amount of time (according to last modification date) will be ignored</td></tr><tr><td id="name">Listing Batch Size</td><td>Listing Batch Size</td><td id="default-value">100</td><td id="allowable-values"></td><td id="description">If not using a Record Writer, this property dictates how many S3 objects should be listed in a single batch. Once this number is reached, the FlowFiles that have been created will be transferred out of the Processor. Setting this value lower may result in lower latency by sending out the FlowFiles before the complete listing has finished. However, it can significantly reduce performance. Larger values may take more memory to store all of the information before sending the FlowFiles out. This property is ignored if using a Record Writer, as one of the main benefits of the Record Writer is being able to emit the entire listing as a single FlowFile.</td></tr><tr><td id="name"><strong>Write Object Tags</strong></td><td>write-s3-object-tags</td><td id="default-value">False</td><td id="allowable-values"><ul><li>True</li><li>False</li></ul></td><td id="description">If set to 'True', the tags associated with the S3 object will be written as FlowFile attributes</td></tr><tr><td id="name"><strong>Write User Metadata</strong></td><td>write-s3-user-metadata</td><td id="default-value">False</td><td id="allowable-values"><ul><li>True</li><li>False</li></ul></td><td id="description">If set to 'True', the user defined metadata associated with the S3 object will be added to FlowFile attributes/records</td></tr><tr><td id="name">Credentials File</td><td>Credentials File</td><td></td><td id="allowable-values"></td><td id="description">Path to a file containing AWS access key and secret key in properties file format.<br/><br/><strong>This property requires exactly one file to be provided..</strong><br/></td></tr><tr><td id="name">AWS Credentials Provider Service</td><td>AWS Credentials Provider service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>AWSCredentialsProviderService<br/><strong>Implementation: </strong><a href="../org.apache.nifi.processors.aws.credentials.provider.service.AWSCredentialsProviderControllerService/index.html">AWSCredentialsProviderControllerService</a></td><td id="description">The Controller Service that is used to obtain aws credentials provider</td></tr><tr><td id="name"><strong>Communications Timeout</strong></td><td>Communications Timeout</td><td id="default-value">30 secs</td><td id="allowable-values"></td><td id="description">No Description Provided.</td></tr><tr><td id="name">SSL Context Service</td><td>SSL Context Service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>SSLContextService<br/><strong>Implementations: </strong><a href="../../../nifi-ssl-context-service-nar/1.19.1/org.apache.nifi.ssl.StandardRestrictedSSLContextService/index.html">StandardRestrictedSSLContextService</a><br/><a href="../../../nifi-ssl-context-service-nar/1.19.1/org.apache.nifi.ssl.StandardSSLContextService/index.html">StandardSSLContextService</a></td><td id="description">Specifies an optional SSL Context Service that, if provided, will be used to create connections</td></tr><tr><td id="name">Endpoint Override URL</td><td>Endpoint Override URL</td><td></td><td id="allowable-values"></td><td id="description">Endpoint 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.<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Signer Override</td><td>Signer Override</td><td id="default-value">Default Signature</td><td id="allowable-values"><ul><li>Default Signature</li><li>Signature v4</li><li>Signature v2</li></ul></td><td id="description">The AWS libraries use the default signer but this property allows you to specify a custom signer to support older S3-compatible services.</td></tr><tr><td id="name">Proxy Configuration Service</td><td>proxy-configuration-service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>ProxyConfigurationService<br/><strong>Implementation: </strong><a href="../../../nifi-proxy-configuration-nar/1.19.1/org.apache.nifi.proxy.StandardProxyConfigurationService/index.html">StandardProxyConfigurationService</a></td><td id="description">Specifies the Proxy Configuration Controller Service to proxy network requests. If set, it supersedes proxy settings configured per component. Supported proxies: HTTP + AuthN</td></tr><tr><td id="name">Proxy Host</td><td>Proxy Host</td><td></td><td id="allowable-values"></td><td id="description">Proxy host name or IP<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Proxy Host Port</td><td>Proxy Host Port</td><td></td><td id="allowable-values"></td><td id="description">Proxy host port<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Proxy Username</td><td>proxy-user-name</td><td></td><td id="allowable-values"></td><td id="description">Proxy username<br/><strong>Supports Expression Language: true (undefined scope)</strong></td></tr><tr><td id="name">Proxy Password</td><td>proxy-user-password</td><td></td><td id="allowable-values"></td><td id="description">Proxy password<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (undefined scope)</strong></td></tr><tr><td id="name">Delimiter</td><td>delimiter</td><td></td><td id="allowable-values"></td><td id="description">The string used to delimit directories within the bucket. Please consult the AWS documentation for the correct use of this field.</td></tr><tr><td id="name">Prefix</td><td>prefix</td><td></td><td id="allowable-values"></td><td id="description">The prefix used to filter the object list. Do not begin with a forward slash '/'. In most cases, it should end with a forward slash '/'.<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name"><strong>Use Versions</strong></td><td>use-versions</td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Specifies whether to use S3 versions, if applicable.  If false, only the latest version of each object will be returned.</td></tr><tr><td id="name"><strong>List Type</strong></td><td>list-type</td><td id="default-value">List Objects V1</td><td id="allowable-values"><ul><li>List Objects V1</li><li>List Objects V2</li></ul></td><td id="description">Specifies whether to use the original List Objects or the newer List Objects Version 2 endpoint.</td></tr><tr><td id="name"><strong>Requester Pays</strong></td><td>requester-pays</td><td id="default-value">False</td><td id="allowable-values"><ul><li>True <img src="../../../../../html/images/iconInfo.png" alt="Indicates that the requester consents to pay any charges associated with listing the S3 bucket." title="Indicates that the requester consents to pay any charges associated with listing the S3 bucket."></img></li><li>False <img src="../../../../../html/images/iconInfo.png" alt="Does not consent to pay requester charges for listing the S3 bucket." title="Does not consent to pay requester charges for listing the S3 bucket."></img></li></ul></td><td id="description">If true, indicates that the requester consents to pay any charges associated with listing the S3 bucket.  This sets the 'x-amz-request-payer' header to 'requester'.  Note that this setting is not applicable when 'Use Versions' is 'true'.</td></tr></table><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>FlowFiles are routed to success relationship</td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3><table id="writes-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>s3.bucket</td><td>The name of the S3 bucket</td></tr><tr><td>filename</td><td>The name of the file</td></tr><tr><td>s3.etag</td><td>The ETag that can be used to see if the file has changed</td></tr><tr><td>s3.isLatest</td><td>A boolean indicating if this is the latest version of the object</td></tr><tr><td>s3.lastModified</td><td>The last modified time in milliseconds since epoch in UTC time</td></tr><tr><td>s3.length</td><td>The size of the object in bytes</td></tr><tr><td>s3.storeClass</td><td>The storage class of the object</td></tr><tr><td>s3.version</td><td>The version of the object, if applicable</td></tr><tr><td>s3.tag.___</td><td>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</td></tr><tr><td>s3.user.metadata.___</td><td>If 'Write User Metadata' is set to 'True', the user defined metadata associated to the S3 object that is being listed will be written as part of the flowfile attributes</td></tr></table><h3>State management: </h3><table id="stateful"><tr><th>Scope</th><th>Description</th></tr><tr><td>CLUSTER</td><td>After 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.</td></tr></table><h3>Restricted: </h3>This component is not restricted.<h3>Input requirement: </h3>This component does not allow an incoming relationship.<h3>System Resource Considerations:</h3>None specified.<h3>See Also:</h3><p><a href="../org.apache.nifi.processors.aws.s3.FetchS3Object/index.html">FetchS3Object</a>, <a href="../org.apache.nifi.processors.aws.s3.PutS3Object/index.html">PutS3Object</a>, <a href="../org.apache.nifi.processors.aws.s3.DeleteS3Object/index.html">DeleteS3Object</a></p></body></html>