Skip to content

Instantly share code, notes, and snippets.

@ijokarumawak
Last active January 9, 2024 15:17
Show Gist options
  • Save ijokarumawak/26ff675039e252d177b1195f3576cf9a to your computer and use it in GitHub Desktop.
Save ijokarumawak/26ff675039e252d177b1195f3576cf9a to your computer and use it in GitHub Desktop.
Move Files between S3 buckets using NiFi

NiFi Flow Example: Move Files between S3 Buckets

Please be careful with specifying the right bucket name, region and credential.

When I misconfigured region, I got the following error:

2016-11-17 10:51:07,828 ERROR [Timer-Driven Process Thread-9] o.a.nifi.processors.aws.s3.PutS3Object
com.amazonaws.services.s3.model.AmazonS3Exception: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint. (Service: Amazon S3; Status Code: 301; ErrorCode: PermanentRedirect; Request ID: 99A62426D8544997)
<?xml version="1.0" ?>
<template encoding-version="1.0">
<description></description>
<groupId>d3fed114-0156-1000-5b68-63e2f6052f7a</groupId>
<name>Copy Files From S3 Bucket To Another</name>
<snippet>
<processGroups>
<id>01581004-1ded-1ff0-0000-000000000000</id>
<parentGroupId>d3fed114-0156-1000-0000-000000000000</parentGroupId>
<position>
<x>0.0</x>
<y>0.0</y>
</position>
<comments></comments>
<contents>
<connections>
<id>01581001-fd0c-1fef-0000-000000000000</id>
<parentGroupId>01581004-1ded-1ff0-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>01581004-1ded-1ff0-0000-000000000000</groupId>
<id>01581004-fd0c-1fef-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>01581004-1ded-1ff0-0000-000000000000</groupId>
<id>6fecee19-0158-1000-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>01581002-fd0c-1fef-0000-000000000000</id>
<parentGroupId>01581004-1ded-1ff0-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>3545.766845703125</x>
<y>717.125732421875</y>
</bends>
<destination>
<groupId>01581004-1ded-1ff0-0000-000000000000</groupId>
<id>01581000-fd0c-1fef-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>failure</selectedRelationships>
<source>
<groupId>01581004-1ded-1ff0-0000-000000000000</groupId>
<id>6fecee19-0158-1000-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>01581008-fd0c-1fef-0000-000000000000</id>
<parentGroupId>01581004-1ded-1ff0-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>01581004-1ded-1ff0-0000-000000000000</groupId>
<id>01581000-fd0c-1fef-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>failure</selectedRelationships>
<source>
<groupId>01581004-1ded-1ff0-0000-000000000000</groupId>
<id>01581004-fd0c-1fef-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>01581009-fd0c-1fef-0000-000000000000</id>
<parentGroupId>01581004-1ded-1ff0-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>3552.127197265625</x>
<y>1028.7777099609375</y>
</bends>
<destination>
<groupId>01581004-1ded-1ff0-0000-000000000000</groupId>
<id>01581000-fd0c-1fef-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>01581004-1ded-1ff0-0000-000000000000</groupId>
<id>01581004-fd0c-1fef-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>6ff16926-0158-1000-0000-000000000000</id>
<parentGroupId>01581004-1ded-1ff0-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>2839.77978515625</x>
<y>466.5321044921875</y>
</bends>
<destination>
<groupId>01581004-1ded-1ff0-0000-000000000000</groupId>
<id>6ff4e3cd-0158-1000-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>01581004-1ded-1ff0-0000-000000000000</groupId>
<id>6ff01ded-0158-1000-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>6ff552f5-0158-1000-0000-000000000000</id>
<parentGroupId>01581004-1ded-1ff0-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>2856.31640625</x>
<y>638.2587280273438</y>
</bends>
<destination>
<groupId>01581004-1ded-1ff0-0000-000000000000</groupId>
<id>6fecee19-0158-1000-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>01581004-1ded-1ff0-0000-000000000000</groupId>
<id>6ff4e3cd-0158-1000-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<controllerServices>
<id>0158100f-fd0c-1fef-0000-000000000000</id>
<parentGroupId>d3fed114-0156-1000-0000-000000000000</parentGroupId>
<comments></comments>
<descriptors>
<entry>
<key>default-credentials</key>
<value>
<name>default-credentials</name>
</value>
</entry>
<entry>
<key>Access Key</key>
<value>
<name>Access Key</name>
</value>
</entry>
<entry>
<key>Secret Key</key>
<value>
<name>Secret Key</name>
</value>
</entry>
<entry>
<key>Credentials File</key>
<value>
<name>Credentials File</name>
</value>
</entry>
<entry>
<key>profile-name</key>
<value>
<name>profile-name</name>
</value>
</entry>
<entry>
<key>anonymous-credentials</key>
<value>
<name>anonymous-credentials</name>
</value>
</entry>
<entry>
<key>Assume Role ARN</key>
<value>
<name>Assume Role ARN</name>
</value>
</entry>
<entry>
<key>Assume Role Session Name</key>
<value>
<name>Assume Role Session Name</name>
</value>
</entry>
<entry>
<key>Session Time</key>
<value>
<name>Session Time</name>
</value>
</entry>
<entry>
<key>assume-role-external-id</key>
<value>
<name>assume-role-external-id</name>
</value>
</entry>
</descriptors>
<name>AWSCredentialsProviderControllerService</name>
<properties>
<entry>
<key>default-credentials</key>
<value>true</value>
</entry>
<entry>
<key>Access Key</key>
</entry>
<entry>
<key>Secret Key</key>
</entry>
<entry>
<key>Credentials File</key>
</entry>
<entry>
<key>profile-name</key>
</entry>
<entry>
<key>anonymous-credentials</key>
</entry>
<entry>
<key>Assume Role ARN</key>
</entry>
<entry>
<key>Assume Role Session Name</key>
</entry>
<entry>
<key>Session Time</key>
</entry>
<entry>
<key>assume-role-external-id</key>
</entry>
</properties>
<state>ENABLED</state>
<type>org.apache.nifi.processors.aws.credentials.provider.service.AWSCredentialsProviderControllerService</type>
</controllerServices>
<processors>
<id>01581000-fd0c-1fef-0000-000000000000</id>
<parentGroupId>01581004-1ded-1ff0-0000-000000000000</parentGroupId>
<position>
<x>3372.946487362797</x>
<y>764.2736454061101</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Delete Attributes Expression</key>
<value>
<name>Delete Attributes Expression</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Delete Attributes Expression</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Terminator</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>success</name>
</relationships>
<style>
<entry>
<key>background-color</key>
<value>#b3716e</value>
</entry>
</style>
<type>org.apache.nifi.processors.attributes.UpdateAttribute</type>
</processors>
<processors>
<id>01581004-fd0c-1fef-0000-000000000000</id>
<parentGroupId>01581004-1ded-1ff0-0000-000000000000</parentGroupId>
<position>
<x>2994.5688313453657</x>
<y>957.4898756369914</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Object Key</key>
<value>
<name>Object Key</name>
</value>
</entry>
<entry>
<key>Bucket</key>
<value>
<name>Bucket</name>
</value>
</entry>
<entry>
<key>Access Key</key>
<value>
<name>Access Key</name>
</value>
</entry>
<entry>
<key>Secret Key</key>
<value>
<name>Secret Key</name>
</value>
</entry>
<entry>
<key>Credentials File</key>
<value>
<name>Credentials File</name>
</value>
</entry>
<entry>
<key>AWS Credentials Provider service</key>
<value>
<identifiesControllerService>org.apache.nifi.processors.aws.credentials.provider.service.AWSCredentialsProviderService</identifiesControllerService>
<name>AWS Credentials Provider service</name>
</value>
</entry>
<entry>
<key>Storage Class</key>
<value>
<name>Storage Class</name>
</value>
</entry>
<entry>
<key>Region</key>
<value>
<name>Region</name>
</value>
</entry>
<entry>
<key>Communications Timeout</key>
<value>
<name>Communications Timeout</name>
</value>
</entry>
<entry>
<key>Expiration Time Rule</key>
<value>
<name>Expiration Time Rule</name>
</value>
</entry>
<entry>
<key>FullControl User List</key>
<value>
<name>FullControl User List</name>
</value>
</entry>
<entry>
<key>Read Permission User List</key>
<value>
<name>Read Permission User List</name>
</value>
</entry>
<entry>
<key>Write Permission User List</key>
<value>
<name>Write Permission User List</name>
</value>
</entry>
<entry>
<key>Read ACL User List</key>
<value>
<name>Read ACL User List</name>
</value>
</entry>
<entry>
<key>Write ACL User List</key>
<value>
<name>Write ACL User List</name>
</value>
</entry>
<entry>
<key>Owner</key>
<value>
<name>Owner</name>
</value>
</entry>
<entry>
<key>canned-acl</key>
<value>
<name>canned-acl</name>
</value>
</entry>
<entry>
<key>SSL Context Service</key>
<value>
<identifiesControllerService>org.apache.nifi.ssl.SSLContextService</identifiesControllerService>
<name>SSL Context Service</name>
</value>
</entry>
<entry>
<key>Endpoint Override URL</key>
<value>
<name>Endpoint Override URL</name>
</value>
</entry>
<entry>
<key>Multipart Threshold</key>
<value>
<name>Multipart Threshold</name>
</value>
</entry>
<entry>
<key>Multipart Part Size</key>
<value>
<name>Multipart Part Size</name>
</value>
</entry>
<entry>
<key>Multipart Upload AgeOff Interval</key>
<value>
<name>Multipart Upload AgeOff Interval</name>
</value>
</entry>
<entry>
<key>Multipart Upload Max Age Threshold</key>
<value>
<name>Multipart Upload Max Age Threshold</name>
</value>
</entry>
<entry>
<key>server-side-encryption</key>
<value>
<name>server-side-encryption</name>
</value>
</entry>
<entry>
<key>Proxy Host</key>
<value>
<name>Proxy Host</name>
</value>
</entry>
<entry>
<key>Proxy Host Port</key>
<value>
<name>Proxy Host Port</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Object Key</key>
<value>${filename}</value>
</entry>
<entry>
<key>Bucket</key>
<value></value>
</entry>
<entry>
<key>Access Key</key>
</entry>
<entry>
<key>Secret Key</key>
</entry>
<entry>
<key>Credentials File</key>
</entry>
<entry>
<key>AWS Credentials Provider service</key>
<value>0158100f-fd0c-1fef-0000-000000000000</value>
</entry>
<entry>
<key>Storage Class</key>
<value>Standard</value>
</entry>
<entry>
<key>Region</key>
<value></value>
</entry>
<entry>
<key>Communications Timeout</key>
<value>30 secs</value>
</entry>
<entry>
<key>Expiration Time Rule</key>
</entry>
<entry>
<key>FullControl User List</key>
<value>${s3.permissions.full.users}</value>
</entry>
<entry>
<key>Read Permission User List</key>
<value>${s3.permissions.read.users}</value>
</entry>
<entry>
<key>Write Permission User List</key>
<value>${s3.permissions.write.users}</value>
</entry>
<entry>
<key>Read ACL User List</key>
<value>${s3.permissions.readacl.users}</value>
</entry>
<entry>
<key>Write ACL User List</key>
<value>${s3.permissions.writeacl.users}</value>
</entry>
<entry>
<key>Owner</key>
<value>${s3.owner}</value>
</entry>
<entry>
<key>canned-acl</key>
<value>${s3.permissions.cannedacl}</value>
</entry>
<entry>
<key>SSL Context Service</key>
</entry>
<entry>
<key>Endpoint Override URL</key>
</entry>
<entry>
<key>Multipart Threshold</key>
<value>5 GB</value>
</entry>
<entry>
<key>Multipart Part Size</key>
<value>5 GB</value>
</entry>
<entry>
<key>Multipart Upload AgeOff Interval</key>
<value>60 min</value>
</entry>
<entry>
<key>Multipart Upload Max Age Threshold</key>
<value>7 days</value>
</entry>
<entry>
<key>server-side-encryption</key>
<value>None</value>
</entry>
<entry>
<key>Proxy Host</key>
</entry>
<entry>
<key>Proxy Host Port</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>PutS3Object</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.aws.s3.PutS3Object</type>
</processors>
<processors>
<id>6fecee19-0158-1000-0000-000000000000</id>
<parentGroupId>01581004-1ded-1ff0-0000-000000000000</parentGroupId>
<position>
<x>2990.781398038857</x>
<y>646.729736955925</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Bucket</key>
<value>
<name>Bucket</name>
</value>
</entry>
<entry>
<key>Object Key</key>
<value>
<name>Object Key</name>
</value>
</entry>
<entry>
<key>Region</key>
<value>
<name>Region</name>
</value>
</entry>
<entry>
<key>Access Key</key>
<value>
<name>Access Key</name>
</value>
</entry>
<entry>
<key>Secret Key</key>
<value>
<name>Secret Key</name>
</value>
</entry>
<entry>
<key>Credentials File</key>
<value>
<name>Credentials File</name>
</value>
</entry>
<entry>
<key>AWS Credentials Provider service</key>
<value>
<identifiesControllerService>org.apache.nifi.processors.aws.credentials.provider.service.AWSCredentialsProviderService</identifiesControllerService>
<name>AWS Credentials Provider service</name>
</value>
</entry>
<entry>
<key>Communications Timeout</key>
<value>
<name>Communications Timeout</name>
</value>
</entry>
<entry>
<key>Version</key>
<value>
<name>Version</name>
</value>
</entry>
<entry>
<key>SSL Context Service</key>
<value>
<identifiesControllerService>org.apache.nifi.ssl.SSLContextService</identifiesControllerService>
<name>SSL Context Service</name>
</value>
</entry>
<entry>
<key>Endpoint Override URL</key>
<value>
<name>Endpoint Override URL</name>
</value>
</entry>
<entry>
<key>Proxy Host</key>
<value>
<name>Proxy Host</name>
</value>
</entry>
<entry>
<key>Proxy Host Port</key>
<value>
<name>Proxy Host Port</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Bucket</key>
<value></value>
</entry>
<entry>
<key>Object Key</key>
<value>${filename}</value>
</entry>
<entry>
<key>Region</key>
<value></value>
</entry>
<entry>
<key>Access Key</key>
</entry>
<entry>
<key>Secret Key</key>
</entry>
<entry>
<key>Credentials File</key>
</entry>
<entry>
<key>AWS Credentials Provider service</key>
<value>0158100f-fd0c-1fef-0000-000000000000</value>
</entry>
<entry>
<key>Communications Timeout</key>
<value>30 secs</value>
</entry>
<entry>
<key>Version</key>
</entry>
<entry>
<key>SSL Context Service</key>
</entry>
<entry>
<key>Endpoint Override URL</key>
</entry>
<entry>
<key>Proxy Host</key>
</entry>
<entry>
<key>Proxy Host Port</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>FetchS3Object</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.aws.s3.FetchS3Object</type>
</processors>
<processors>
<id>6ff01ded-0158-1000-0000-000000000000</id>
<parentGroupId>01581004-1ded-1ff0-0000-000000000000</parentGroupId>
<position>
<x>2991.4344331281454</x>
<y>319.8092953540763</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Bucket</key>
<value>
<name>Bucket</name>
</value>
</entry>
<entry>
<key>Region</key>
<value>
<name>Region</name>
</value>
</entry>
<entry>
<key>Access Key</key>
<value>
<name>Access Key</name>
</value>
</entry>
<entry>
<key>Secret Key</key>
<value>
<name>Secret Key</name>
</value>
</entry>
<entry>
<key>Credentials File</key>
<value>
<name>Credentials File</name>
</value>
</entry>
<entry>
<key>AWS Credentials Provider service</key>
<value>
<identifiesControllerService>org.apache.nifi.processors.aws.credentials.provider.service.AWSCredentialsProviderService</identifiesControllerService>
<name>AWS Credentials Provider service</name>
</value>
</entry>
<entry>
<key>Communications Timeout</key>
<value>
<name>Communications Timeout</name>
</value>
</entry>
<entry>
<key>SSL Context Service</key>
<value>
<identifiesControllerService>org.apache.nifi.ssl.SSLContextService</identifiesControllerService>
<name>SSL Context Service</name>
</value>
</entry>
<entry>
<key>Endpoint Override URL</key>
<value>
<name>Endpoint Override URL</name>
</value>
</entry>
<entry>
<key>Proxy Host</key>
<value>
<name>Proxy Host</name>
</value>
</entry>
<entry>
<key>Proxy Host Port</key>
<value>
<name>Proxy Host Port</name>
</value>
</entry>
<entry>
<key>delimiter</key>
<value>
<name>delimiter</name>
</value>
</entry>
<entry>
<key>prefix</key>
<value>
<name>prefix</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Bucket</key>
<value></value>
</entry>
<entry>
<key>Region</key>
<value></value>
</entry>
<entry>
<key>Access Key</key>
</entry>
<entry>
<key>Secret Key</key>
</entry>
<entry>
<key>Credentials File</key>
</entry>
<entry>
<key>AWS Credentials Provider service</key>
<value>0158100f-fd0c-1fef-0000-000000000000</value>
</entry>
<entry>
<key>Communications Timeout</key>
<value>30 secs</value>
</entry>
<entry>
<key>SSL Context Service</key>
</entry>
<entry>
<key>Endpoint Override URL</key>
</entry>
<entry>
<key>Proxy Host</key>
</entry>
<entry>
<key>Proxy Host Port</key>
</entry>
<entry>
<key>delimiter</key>
</entry>
<entry>
<key>prefix</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>30 min</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>ListS3</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.aws.s3.ListS3</type>
</processors>
<processors>
<id>6ff4e3cd-0158-1000-0000-000000000000</id>
<parentGroupId>01581004-1ded-1ff0-0000-000000000000</parentGroupId>
<position>
<x>2990.1151583046044</x>
<y>483.68161932451255</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Rate Control Criteria</key>
<value>
<name>Rate Control Criteria</name>
</value>
</entry>
<entry>
<key>Maximum Rate</key>
<value>
<name>Maximum Rate</name>
</value>
</entry>
<entry>
<key>Rate Controlled Attribute</key>
<value>
<name>Rate Controlled Attribute</name>
</value>
</entry>
<entry>
<key>Time Duration</key>
<value>
<name>Time Duration</name>
</value>
</entry>
<entry>
<key>Grouping Attribute</key>
<value>
<name>Grouping Attribute</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Rate Control Criteria</key>
<value>flowfile count</value>
</entry>
<entry>
<key>Maximum Rate</key>
<value>1</value>
</entry>
<entry>
<key>Rate Controlled Attribute</key>
</entry>
<entry>
<key>Time Duration</key>
<value>1 min</value>
</entry>
<entry>
<key>Grouping Attribute</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>ControlRate</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.ControlRate</type>
</processors>
</contents>
<name>Copy Files From S3 Bucket To Another</name>
</processGroups>
</snippet>
<timestamp>11/17/2016 11:21:31 JST</timestamp>
</template>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment