blob: 362f75e45daf420dcbfb8fda6f77ba41f0031fed [file] [log] [blame]
<!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>