diff --git a/.github/workflows/dev_nifi.yaml b/.github/workflows/dev_nifi.yaml
index 7384a735..017210c4 100644
--- a/.github/workflows/dev_nifi.yaml
+++ b/.github/workflows/dev_nifi.yaml
@@ -5,7 +5,7 @@ env:
IMAGE_NAME: nifi
# TODO (@NickLarsenNZ): Use a versioned image with stackable0.0.0-dev or stackableXX.X.X so that
# the demo is reproducable for the release and it will be automatically replaced for the release branch.
- IMAGE_VERSION: 1.28.1-postgresql
+ IMAGE_VERSION: 2.2.0-postgresql
REGISTRY_PATH: stackable
DOCKERFILE_PATH: "demos/signal-processing/Dockerfile-nifi"
diff --git a/demos/data-lakehouse-iceberg-trino-spark/LakehouseKafkaIngest.json b/demos/data-lakehouse-iceberg-trino-spark/LakehouseKafkaIngest.json
new file mode 100644
index 00000000..10951067
--- /dev/null
+++ b/demos/data-lakehouse-iceberg-trino-spark/LakehouseKafkaIngest.json
@@ -0,0 +1 @@
+{"flowContents":{"identifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","instanceIdentifier":"8166cd44-0195-1000-ffff-ffffe3e76943","name":"LakehouseKafkaIngest_raw","comments":"","position":{"x":-40.0,"y":-416.0},"processGroups":[],"remoteProcessGroups":[],"processors":[{"identifier":"5e50831e-a2fd-34c9-af0a-924b16280705","instanceIdentifier":"54f2ba99-3a49-3160-b8b9-45b8c0a6ac2a","name":"Get station information","comments":"","position":{"x":1701.0000007628792,"y":273.999988448508},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://api.mobidata-bw.de/sharing/gbfs/v2/deer/station_information","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"10 m","schedulingStrategy":"TIMER_DRIVEN","executionNode":"PRIMARY","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"ba73d7c1-102f-3888-a573-5e6d2ec9e1f0","instanceIdentifier":"816f11f1-0195-1000-ffff-ffffd698d6c2","name":"Add station_uuid","comments":"","position":{"x":936.0,"y":1216.0},"type":"org.apache.nifi.processors.jolt.JoltTransformJSON","bundle":{"group":"org.apache.nifi","artifact":"nifi-jolt-nar","version":"2.2.0"},"properties":{"Jolt Transform":"jolt-transform-chain","Max String Length":"20 MB","Transform Cache Size":"1","Custom Transformation Class Name":null,"Custom Module Directory":null,"Pretty Print":"false","Jolt Specification":"[\n {\n \"operation\": \"default\",\n \"spec\": {\n \"*\": {\n \"station_uuid\": \"${station_uuid}\"\n }\n }\n }\n]\n"},"propertyDescriptors":{"Jolt Transform":{"name":"Jolt Transform","displayName":"Jolt Transform","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transform Cache Size":{"name":"Transform Cache Size","displayName":"Transform Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Transformation Class Name":{"name":"Custom Transformation Class Name","displayName":"Custom Transformation Class Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Module Directory":{"name":"Custom Module Directory","displayName":"Custom Module Directory","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"MULTIPLE","resourceTypes":["DIRECTORY","FILE"]}},"Pretty Print":{"name":"Pretty Print","displayName":"Pretty Print","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Jolt Specification":{"name":"Jolt Specification","displayName":"Jolt Specification","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["TEXT","FILE"]}}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"577f603d-ee9c-3202-8139-d35d94c9c311","instanceIdentifier":"331d7feb-96a3-3998-9a1e-5b23cca85c5f","name":"SplitRecord","comments":"","position":{"x":1309.0000007628792,"y":537.999988448508},"type":"org.apache.nifi.processors.standard.SplitRecord","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Record Writer":"50e96367-7b84-3034-8dbf-6e02fa7c01df","Record Reader":"c127588a-e95f-382f-afb1-33f9b279c38d","Records Per Split":"1"},"propertyDescriptors":{"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Records Per Split":{"name":"Records Per Split","displayName":"Records Per Split","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["original","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"fc594301-ecc4-353b-8330-7aecb14e6422","instanceIdentifier":"f049f0b7-46f9-332b-bce3-925167b05f37","name":"Get station list","comments":"","position":{"x":1309.0000007628792,"y":273.999988448508},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"15 m","schedulingStrategy":"TIMER_DRIVEN","executionNode":"PRIMARY","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"3a46b8c1-c2c6-3006-0000-000066d6dbdd","instanceIdentifier":"9e653a1f-9897-3124-8aa1-83321219f2fc","name":"Extract data attribute","comments":"","position":{"x":2104.0,"y":536.0},"type":"org.apache.nifi.processors.jolt.JoltTransformJSON","bundle":{"group":"org.apache.nifi","artifact":"nifi-jolt-nar","version":"2.2.0"},"properties":{"Jolt Transform":"jolt-transform-chain","Max String Length":"20 MB","Transform Cache Size":"1","Custom Transformation Class Name":null,"Custom Module Directory":null,"Pretty Print":"false","Jolt Specification":"[\n {\n \"operation\": \"shift\",\n \"spec\": {\n \"data\": {\n \"*\": \"\"\n }\n }\n }\n]\n"},"propertyDescriptors":{"Jolt Transform":{"name":"Jolt Transform","displayName":"Jolt Transform","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transform Cache Size":{"name":"Transform Cache Size","displayName":"Transform Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Transformation Class Name":{"name":"Custom Transformation Class Name","displayName":"Custom Transformation Class Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Module Directory":{"name":"Custom Module Directory","displayName":"Custom Module Directory","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"MULTIPLE","resourceTypes":["DIRECTORY","FILE"]}},"Pretty Print":{"name":"Pretty Print","displayName":"Pretty Print","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Jolt Specification":{"name":"Jolt Specification","displayName":"Jolt Specification","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["TEXT","FILE"]}}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"dd4690f7-ae51-36bb-0000-0000325e1eed","instanceIdentifier":"664aded4-922a-3da4-a584-7d5e43361201","name":"Produce station status records","comments":"","position":{"x":2104.0,"y":752.0},"type":"org.apache.nifi.kafka.processors.PublishKafka","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-nar","version":"2.2.0"},"properties":{"compression.type":"none","acks":"all","Message Demarcator":null,"Kafka Key Attribute Encoding":"utf-8","Record Reader":"c127588a-e95f-382f-afb1-33f9b279c38d","Record Metadata Strategy":"FROM_PROPERTIES","Transactional ID Prefix":null,"Header Encoding":"UTF-8","max.request.size":"1 MB","Topic Name":"shared_bikes_station_status","Kafka Key":null,"partition":null,"Kafka Connection Service":"a7cc755f-2210-3763-889e-24c3e0b0684d","Publish Strategy":"USE_VALUE","Record Key Writer":null,"Failure Strategy":"Route to Failure","partitioner.class":"org.apache.kafka.clients.producer.internals.DefaultPartitioner","Record Writer":"50e96367-7b84-3034-8dbf-6e02fa7c01df","Transactions Enabled":"false","Message Key Field":null,"FlowFile Attribute Header Pattern":null},"propertyDescriptors":{"compression.type":{"name":"compression.type","displayName":"Compression Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"acks":{"name":"acks","displayName":"Delivery Guarantee","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Demarcator":{"name":"Message Demarcator","displayName":"Message Demarcator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key Attribute Encoding":{"name":"Kafka Key Attribute Encoding","displayName":"Kafka Key Attribute Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Metadata Strategy":{"name":"Record Metadata Strategy","displayName":"Record Metadata Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transactional ID Prefix":{"name":"Transactional ID Prefix","displayName":"Transactional ID Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Header Encoding":{"name":"Header Encoding","displayName":"Header Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.request.size":{"name":"max.request.size","displayName":"Max Request Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Topic Name":{"name":"Topic Name","displayName":"Topic Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key":{"name":"Kafka Key","displayName":"Kafka Key","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partition":{"name":"partition","displayName":"Partition","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Connection Service":{"name":"Kafka Connection Service","displayName":"Kafka Connection Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Publish Strategy":{"name":"Publish Strategy","displayName":"Publish Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Key Writer":{"name":"Record Key Writer","displayName":"Record Key Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Failure Strategy":{"name":"Failure Strategy","displayName":"Failure Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partitioner.class":{"name":"partitioner.class","displayName":"Partitioner Class","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Transactions Enabled":{"name":"Transactions Enabled","displayName":"Transactions Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Key Field":{"name":"Message Key Field","displayName":"Message Key Field","identifiesControllerService":false,"sensitive":false,"dynamic":false},"FlowFile Attribute Header Pattern":{"name":"FlowFile Attribute Header Pattern","displayName":"FlowFile Attribute Header Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["success","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"90d02439-1516-3c8a-ffff-ffff8b2ffb20","instanceIdentifier":"3a5f9f2c-bafa-3ae3-bc1b-2e8f1dbea59e","name":"Produce station information records","comments":"","position":{"x":1704.0,"y":752.0},"type":"org.apache.nifi.kafka.processors.PublishKafka","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-nar","version":"2.2.0"},"properties":{"compression.type":"none","acks":"all","Message Demarcator":null,"Kafka Key Attribute Encoding":"utf-8","Record Reader":"c127588a-e95f-382f-afb1-33f9b279c38d","Record Metadata Strategy":"FROM_PROPERTIES","Transactional ID Prefix":null,"Header Encoding":"UTF-8","max.request.size":"1 MB","Topic Name":"shared_bikes_station_information","Kafka Key":null,"partition":null,"Kafka Connection Service":"a7cc755f-2210-3763-889e-24c3e0b0684d","Publish Strategy":"USE_VALUE","Record Key Writer":null,"Failure Strategy":"Route to Failure","partitioner.class":"org.apache.kafka.clients.producer.internals.DefaultPartitioner","Record Writer":"50e96367-7b84-3034-8dbf-6e02fa7c01df","Transactions Enabled":"false","Message Key Field":null,"FlowFile Attribute Header Pattern":null},"propertyDescriptors":{"compression.type":{"name":"compression.type","displayName":"Compression Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"acks":{"name":"acks","displayName":"Delivery Guarantee","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Demarcator":{"name":"Message Demarcator","displayName":"Message Demarcator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key Attribute Encoding":{"name":"Kafka Key Attribute Encoding","displayName":"Kafka Key Attribute Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Metadata Strategy":{"name":"Record Metadata Strategy","displayName":"Record Metadata Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transactional ID Prefix":{"name":"Transactional ID Prefix","displayName":"Transactional ID Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Header Encoding":{"name":"Header Encoding","displayName":"Header Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.request.size":{"name":"max.request.size","displayName":"Max Request Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Topic Name":{"name":"Topic Name","displayName":"Topic Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key":{"name":"Kafka Key","displayName":"Kafka Key","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partition":{"name":"partition","displayName":"Partition","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Connection Service":{"name":"Kafka Connection Service","displayName":"Kafka Connection Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Publish Strategy":{"name":"Publish Strategy","displayName":"Publish Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Key Writer":{"name":"Record Key Writer","displayName":"Record Key Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Failure Strategy":{"name":"Failure Strategy","displayName":"Failure Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partitioner.class":{"name":"partitioner.class","displayName":"Partitioner Class","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Transactions Enabled":{"name":"Transactions Enabled","displayName":"Transactions Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Key Field":{"name":"Message Key Field","displayName":"Message Key Field","identifiesControllerService":false,"sensitive":false,"dynamic":false},"FlowFile Attribute Header Pattern":{"name":"FlowFile Attribute Header Pattern","displayName":"FlowFile Attribute Header Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["success","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"056f4faa-a4dc-3024-ffff-ffffb73ef3a0","instanceIdentifier":"7b0b12f3-669e-32c4-b866-dea8a4a6f34a","name":"Extract data attribute","comments":"","position":{"x":2496.0,"y":536.0},"type":"org.apache.nifi.processors.jolt.JoltTransformJSON","bundle":{"group":"org.apache.nifi","artifact":"nifi-jolt-nar","version":"2.2.0"},"properties":{"Jolt Transform":"jolt-transform-chain","Max String Length":"20 MB","Transform Cache Size":"1","Custom Transformation Class Name":null,"Custom Module Directory":null,"Pretty Print":"false","Jolt Specification":"[\n {\n \"operation\": \"shift\",\n \"spec\": {\n \"data\": {\n \"*\": \"\"\n }\n }\n }\n]\n"},"propertyDescriptors":{"Jolt Transform":{"name":"Jolt Transform","displayName":"Jolt Transform","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transform Cache Size":{"name":"Transform Cache Size","displayName":"Transform Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Transformation Class Name":{"name":"Custom Transformation Class Name","displayName":"Custom Transformation Class Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Module Directory":{"name":"Custom Module Directory","displayName":"Custom Module Directory","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"MULTIPLE","resourceTypes":["DIRECTORY","FILE"]}},"Pretty Print":{"name":"Pretty Print","displayName":"Pretty Print","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Jolt Specification":{"name":"Jolt Specification","displayName":"Jolt Specification","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["TEXT","FILE"]}}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"42346af3-5793-3b8c-ffff-ffffc5c5139d","instanceIdentifier":"f9f95954-77fc-3f16-9b94-54ca68090b21","name":"Add station_uuid","comments":"","position":{"x":1312.0,"y":1216.0},"type":"org.apache.nifi.processors.jolt.JoltTransformJSON","bundle":{"group":"org.apache.nifi","artifact":"nifi-jolt-nar","version":"2.2.0"},"properties":{"Jolt Transform":"jolt-transform-chain","Max String Length":"20 MB","Transform Cache Size":"1","Custom Transformation Class Name":null,"Custom Module Directory":null,"Pretty Print":"false","Jolt Specification":"[\n {\n \"operation\": \"default\",\n \"spec\": {\n \"*\": {\n \"station_uuid\": \"${station_uuid}\"\n }\n }\n }\n]\n"},"propertyDescriptors":{"Jolt Transform":{"name":"Jolt Transform","displayName":"Jolt Transform","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transform Cache Size":{"name":"Transform Cache Size","displayName":"Transform Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Transformation Class Name":{"name":"Custom Transformation Class Name","displayName":"Custom Transformation Class Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Module Directory":{"name":"Custom Module Directory","displayName":"Custom Module Directory","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"MULTIPLE","resourceTypes":["DIRECTORY","FILE"]}},"Pretty Print":{"name":"Pretty Print","displayName":"Pretty Print","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Jolt Specification":{"name":"Jolt Specification","displayName":"Jolt Specification","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["TEXT","FILE"]}}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"1a0aea35-946c-35de-8811-549faeb003ee","instanceIdentifier":"81675904-0195-1000-ffff-ffffbbbb9cfe","name":"Produce station records","comments":"","position":{"x":560.0,"y":536.0},"type":"org.apache.nifi.kafka.processors.PublishKafka","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-nar","version":"2.2.0"},"properties":{"compression.type":"none","acks":"all","Message Demarcator":null,"Kafka Key Attribute Encoding":"utf-8","Record Reader":"c127588a-e95f-382f-afb1-33f9b279c38d","Record Metadata Strategy":"FROM_PROPERTIES","Transactional ID Prefix":null,"Header Encoding":"UTF-8","max.request.size":"1 MB","Topic Name":"water_levels_stations","Kafka Key":null,"partition":null,"Kafka Connection Service":"a7cc755f-2210-3763-889e-24c3e0b0684d","Publish Strategy":"USE_VALUE","Record Key Writer":null,"Failure Strategy":"Route to Failure","partitioner.class":"org.apache.kafka.clients.producer.internals.DefaultPartitioner","Record Writer":"50e96367-7b84-3034-8dbf-6e02fa7c01df","Transactions Enabled":"false","Message Key Field":null,"FlowFile Attribute Header Pattern":null},"propertyDescriptors":{"compression.type":{"name":"compression.type","displayName":"Compression Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"acks":{"name":"acks","displayName":"Delivery Guarantee","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Demarcator":{"name":"Message Demarcator","displayName":"Message Demarcator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key Attribute Encoding":{"name":"Kafka Key Attribute Encoding","displayName":"Kafka Key Attribute Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Metadata Strategy":{"name":"Record Metadata Strategy","displayName":"Record Metadata Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transactional ID Prefix":{"name":"Transactional ID Prefix","displayName":"Transactional ID Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Header Encoding":{"name":"Header Encoding","displayName":"Header Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.request.size":{"name":"max.request.size","displayName":"Max Request Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Topic Name":{"name":"Topic Name","displayName":"Topic Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key":{"name":"Kafka Key","displayName":"Kafka Key","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partition":{"name":"partition","displayName":"Partition","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Connection Service":{"name":"Kafka Connection Service","displayName":"Kafka Connection Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Publish Strategy":{"name":"Publish Strategy","displayName":"Publish Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Key Writer":{"name":"Record Key Writer","displayName":"Record Key Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Failure Strategy":{"name":"Failure Strategy","displayName":"Failure Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partitioner.class":{"name":"partitioner.class","displayName":"Partitioner Class","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Transactions Enabled":{"name":"Transactions Enabled","displayName":"Transactions Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Key Field":{"name":"Message Key Field","displayName":"Message Key Field","identifiesControllerService":false,"sensitive":false,"dynamic":false},"FlowFile Attribute Header Pattern":{"name":"FlowFile Attribute Header Pattern","displayName":"FlowFile Attribute Header Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["success","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"364e250b-f224-3e12-b4cf-c782c9a06bbe","instanceIdentifier":"143b2ea1-f9cc-3140-afd1-426a846dd9d0","name":"Get free bike status","comments":"","position":{"x":2501.000000762879,"y":273.999988448508},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://api.mobidata-bw.de/sharing/gbfs/v2/deer/free_bike_status","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"1 m","schedulingStrategy":"TIMER_DRIVEN","executionNode":"PRIMARY","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"26a592be-7444-337c-b8f9-3a29013cb760","instanceIdentifier":"0ea082f4-3f0d-38db-bd4b-51feb5428cc6","name":"Get station status","comments":"","position":{"x":2101.000000762879,"y":273.999988448508},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://api.mobidata-bw.de/sharing/gbfs/v2/deer/station_status","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"1 m","schedulingStrategy":"TIMER_DRIVEN","executionNode":"PRIMARY","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"d9bacb7c-10df-3044-ffff-ffffe7a604af","instanceIdentifier":"8c7c157b-6f95-399c-83f7-54a79ea11078","name":"Produce bike status records","comments":"","position":{"x":2504.0,"y":752.0},"type":"org.apache.nifi.kafka.processors.PublishKafka","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-nar","version":"2.2.0"},"properties":{"compression.type":"none","acks":"all","Message Demarcator":null,"Kafka Key Attribute Encoding":"utf-8","Record Reader":"c127588a-e95f-382f-afb1-33f9b279c38d","Record Metadata Strategy":"FROM_PROPERTIES","Transactional ID Prefix":null,"Header Encoding":"UTF-8","max.request.size":"1 MB","Topic Name":"shared_bikes_bike_status","Kafka Key":null,"partition":null,"Kafka Connection Service":"a7cc755f-2210-3763-889e-24c3e0b0684d","Publish Strategy":"USE_VALUE","Record Key Writer":null,"Failure Strategy":"Route to Failure","partitioner.class":"org.apache.kafka.clients.producer.internals.DefaultPartitioner","Record Writer":"50e96367-7b84-3034-8dbf-6e02fa7c01df","Transactions Enabled":"false","Message Key Field":null,"FlowFile Attribute Header Pattern":null},"propertyDescriptors":{"compression.type":{"name":"compression.type","displayName":"Compression Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"acks":{"name":"acks","displayName":"Delivery Guarantee","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Demarcator":{"name":"Message Demarcator","displayName":"Message Demarcator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key Attribute Encoding":{"name":"Kafka Key Attribute Encoding","displayName":"Kafka Key Attribute Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Metadata Strategy":{"name":"Record Metadata Strategy","displayName":"Record Metadata Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transactional ID Prefix":{"name":"Transactional ID Prefix","displayName":"Transactional ID Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Header Encoding":{"name":"Header Encoding","displayName":"Header Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.request.size":{"name":"max.request.size","displayName":"Max Request Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Topic Name":{"name":"Topic Name","displayName":"Topic Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key":{"name":"Kafka Key","displayName":"Kafka Key","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partition":{"name":"partition","displayName":"Partition","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Connection Service":{"name":"Kafka Connection Service","displayName":"Kafka Connection Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Publish Strategy":{"name":"Publish Strategy","displayName":"Publish Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Key Writer":{"name":"Record Key Writer","displayName":"Record Key Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Failure Strategy":{"name":"Failure Strategy","displayName":"Failure Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partitioner.class":{"name":"partitioner.class","displayName":"Partitioner Class","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Transactions Enabled":{"name":"Transactions Enabled","displayName":"Transactions Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Key Field":{"name":"Message Key Field","displayName":"Message Key Field","identifiesControllerService":false,"sensitive":false,"dynamic":false},"FlowFile Attribute Header Pattern":{"name":"FlowFile Attribute Header Pattern","displayName":"FlowFile Attribute Header Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["success","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"00bcf948-7bef-35b6-8a6d-e641194b8189","instanceIdentifier":"d92196ba-38f9-3b77-b9a4-4e0dfe564d3f","name":"Get station list","comments":"","position":{"x":557.000000762879,"y":273.999988448508},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"10 m","schedulingStrategy":"TIMER_DRIVEN","executionNode":"PRIMARY","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"98c83f54-9f99-3d95-88b0-ae91140707c9","instanceIdentifier":"098befce-068e-3d63-8586-1a7309e40e58","name":"Get station list","comments":"","position":{"x":933.000000762879,"y":273.999988448508},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"365000 days","schedulingStrategy":"TIMER_DRIVEN","executionNode":"PRIMARY","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"405f050c-5005-3b96-ffff-ffffbc8a379e","instanceIdentifier":"3dd55349-9324-36ea-a6a0-d76280b79609","name":"Extract data attribute","comments":"","position":{"x":1704.0,"y":544.0},"type":"org.apache.nifi.processors.jolt.JoltTransformJSON","bundle":{"group":"org.apache.nifi","artifact":"nifi-jolt-nar","version":"2.2.0"},"properties":{"Jolt Transform":"jolt-transform-chain","Max String Length":"20 MB","Transform Cache Size":"1","Custom Transformation Class Name":null,"Custom Module Directory":null,"Pretty Print":"false","Jolt Specification":"[\n {\n \"operation\": \"shift\",\n \"spec\": {\n \"data\": {\n \"*\": \"\"\n }\n }\n }\n]\n"},"propertyDescriptors":{"Jolt Transform":{"name":"Jolt Transform","displayName":"Jolt Transform","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transform Cache Size":{"name":"Transform Cache Size","displayName":"Transform Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Transformation Class Name":{"name":"Custom Transformation Class Name","displayName":"Custom Transformation Class Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Module Directory":{"name":"Custom Module Directory","displayName":"Custom Module Directory","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"MULTIPLE","resourceTypes":["DIRECTORY","FILE"]}},"Pretty Print":{"name":"Pretty Print","displayName":"Pretty Print","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Jolt Specification":{"name":"Jolt Specification","displayName":"Jolt Specification","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["TEXT","FILE"]}}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"a1453322-1c3f-3150-a5be-0330c98144d9","instanceIdentifier":"be5c2f57-09fd-3608-8c9c-9779e52c0ce8","name":"Extract station_uuid","comments":"","position":{"x":933.000000762879,"y":753.999988448508},"type":"org.apache.nifi.processors.standard.EvaluateJsonPath","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Destination":"flowfile-attribute","Max String Length":"20 MB","Return Type":"auto-detect","Null Value Representation":"empty string","station_uuid":"$.uuid","Path Not Found Behavior":"ignore"},"propertyDescriptors":{"Destination":{"name":"Destination","displayName":"Destination","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Return Type":{"name":"Return Type","displayName":"Return Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Null Value Representation":{"name":"Null Value Representation","displayName":"Null Value Representation","identifiesControllerService":false,"sensitive":false,"dynamic":false},"station_uuid":{"name":"station_uuid","displayName":"station_uuid","identifiesControllerService":false,"sensitive":false,"dynamic":true},"Path Not Found Behavior":{"name":"Path Not Found Behavior","displayName":"Path Not Found Behavior","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["failure","unmatched"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"de71001e-de69-32c2-82b9-6f008665b252","instanceIdentifier":"df138016-7764-3ad6-ac10-9f57e657461d","name":"Get 30 minutes of historic data","comments":"","position":{"x":1309.0000007628792,"y":993.999988448508},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/${station_uuid}/W/measurements.json?start=PT30M","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"1 s","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"7133f561-971a-35b6-abff-9892e06b4bbe","instanceIdentifier":"fd7775f9-0f65-361a-bcb9-71668ae1a663","name":"Get 30 days historic data","comments":"","position":{"x":933.000000762879,"y":993.999988448508},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/${station_uuid}/W/measurements.json?start=P30D","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"0640256b-010a-3e69-b961-680e63ec85e2","instanceIdentifier":"71fee077-9f08-3916-b189-f933b8f13619","name":"Extract station_uuid","comments":"","position":{"x":1309.0000007628792,"y":753.999988448508},"type":"org.apache.nifi.processors.standard.EvaluateJsonPath","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Destination":"flowfile-attribute","Max String Length":"20 MB","Return Type":"auto-detect","Null Value Representation":"empty string","station_uuid":"$.uuid","Path Not Found Behavior":"ignore"},"propertyDescriptors":{"Destination":{"name":"Destination","displayName":"Destination","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Return Type":{"name":"Return Type","displayName":"Return Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Null Value Representation":{"name":"Null Value Representation","displayName":"Null Value Representation","identifiesControllerService":false,"sensitive":false,"dynamic":false},"station_uuid":{"name":"station_uuid","displayName":"station_uuid","identifiesControllerService":false,"sensitive":false,"dynamic":true},"Path Not Found Behavior":{"name":"Path Not Found Behavior","displayName":"Path Not Found Behavior","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["failure","unmatched"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"99d1a93c-6332-3e77-0000-0000527115be","instanceIdentifier":"839f75a2-3a32-38b7-8c36-50498002e9c1","name":"PublishKafka","comments":"","position":{"x":936.0,"y":1432.0},"type":"org.apache.nifi.kafka.processors.PublishKafka","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-nar","version":"2.2.0"},"properties":{"compression.type":"snappy","acks":"all","Message Demarcator":null,"Kafka Key Attribute Encoding":"utf-8","Record Reader":"c127588a-e95f-382f-afb1-33f9b279c38d","Record Metadata Strategy":"FROM_PROPERTIES","Transactional ID Prefix":null,"Header Encoding":"UTF-8","max.request.size":"1 MB","Topic Name":"water_levels_measurements","Kafka Key":null,"partition":null,"Kafka Connection Service":"a7cc755f-2210-3763-889e-24c3e0b0684d","Publish Strategy":"USE_VALUE","Record Key Writer":null,"Failure Strategy":"Route to Failure","partitioner.class":"org.apache.kafka.clients.producer.internals.DefaultPartitioner","Record Writer":"50e96367-7b84-3034-8dbf-6e02fa7c01df","Transactions Enabled":"false","Message Key Field":null,"FlowFile Attribute Header Pattern":null},"propertyDescriptors":{"compression.type":{"name":"compression.type","displayName":"Compression Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"acks":{"name":"acks","displayName":"Delivery Guarantee","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Demarcator":{"name":"Message Demarcator","displayName":"Message Demarcator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key Attribute Encoding":{"name":"Kafka Key Attribute Encoding","displayName":"Kafka Key Attribute Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Metadata Strategy":{"name":"Record Metadata Strategy","displayName":"Record Metadata Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transactional ID Prefix":{"name":"Transactional ID Prefix","displayName":"Transactional ID Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Header Encoding":{"name":"Header Encoding","displayName":"Header Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.request.size":{"name":"max.request.size","displayName":"Max Request Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Topic Name":{"name":"Topic Name","displayName":"Topic Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key":{"name":"Kafka Key","displayName":"Kafka Key","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partition":{"name":"partition","displayName":"Partition","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Connection Service":{"name":"Kafka Connection Service","displayName":"Kafka Connection Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Publish Strategy":{"name":"Publish Strategy","displayName":"Publish Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Key Writer":{"name":"Record Key Writer","displayName":"Record Key Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Failure Strategy":{"name":"Failure Strategy","displayName":"Failure Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partitioner.class":{"name":"partitioner.class","displayName":"Partitioner Class","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Transactions Enabled":{"name":"Transactions Enabled","displayName":"Transactions Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Key Field":{"name":"Message Key Field","displayName":"Message Key Field","identifiesControllerService":false,"sensitive":false,"dynamic":false},"FlowFile Attribute Header Pattern":{"name":"FlowFile Attribute Header Pattern","displayName":"FlowFile Attribute Header Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["success","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"762fb4f3-201b-3c92-ffff-ffff8e7e57fd","instanceIdentifier":"3d7eb954-e054-3324-aea1-5aa7a03dc120","name":"PublishKafka","comments":"","position":{"x":1312.0,"y":1432.0},"type":"org.apache.nifi.kafka.processors.PublishKafka","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-nar","version":"2.2.0"},"properties":{"compression.type":"snappy","acks":"all","Message Demarcator":null,"Kafka Key Attribute Encoding":"utf-8","Record Reader":"c127588a-e95f-382f-afb1-33f9b279c38d","Record Metadata Strategy":"FROM_PROPERTIES","Transactional ID Prefix":null,"Header Encoding":"UTF-8","max.request.size":"1 MB","Topic Name":"water_levels_measurements","Kafka Key":null,"partition":null,"Kafka Connection Service":"a7cc755f-2210-3763-889e-24c3e0b0684d","Publish Strategy":"USE_VALUE","Record Key Writer":null,"Failure Strategy":"Route to Failure","partitioner.class":"org.apache.kafka.clients.producer.internals.DefaultPartitioner","Record Writer":"50e96367-7b84-3034-8dbf-6e02fa7c01df","Transactions Enabled":"false","Message Key Field":null,"FlowFile Attribute Header Pattern":null},"propertyDescriptors":{"compression.type":{"name":"compression.type","displayName":"Compression Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"acks":{"name":"acks","displayName":"Delivery Guarantee","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Demarcator":{"name":"Message Demarcator","displayName":"Message Demarcator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key Attribute Encoding":{"name":"Kafka Key Attribute Encoding","displayName":"Kafka Key Attribute Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Metadata Strategy":{"name":"Record Metadata Strategy","displayName":"Record Metadata Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transactional ID Prefix":{"name":"Transactional ID Prefix","displayName":"Transactional ID Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Header Encoding":{"name":"Header Encoding","displayName":"Header Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.request.size":{"name":"max.request.size","displayName":"Max Request Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Topic Name":{"name":"Topic Name","displayName":"Topic Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key":{"name":"Kafka Key","displayName":"Kafka Key","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partition":{"name":"partition","displayName":"Partition","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Connection Service":{"name":"Kafka Connection Service","displayName":"Kafka Connection Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Publish Strategy":{"name":"Publish Strategy","displayName":"Publish Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Key Writer":{"name":"Record Key Writer","displayName":"Record Key Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Failure Strategy":{"name":"Failure Strategy","displayName":"Failure Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partitioner.class":{"name":"partitioner.class","displayName":"Partitioner Class","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Transactions Enabled":{"name":"Transactions Enabled","displayName":"Transactions Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Key Field":{"name":"Message Key Field","displayName":"Message Key Field","identifiesControllerService":false,"sensitive":false,"dynamic":false},"FlowFile Attribute Header Pattern":{"name":"FlowFile Attribute Header Pattern","displayName":"FlowFile Attribute Header Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["success","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"c6929ff2-ea95-3d79-a483-3ffa75371ee4","instanceIdentifier":"78b9af30-7922-3dd6-91d4-f88d7f984ec6","name":"SplitRecord","comments":"","position":{"x":933.000000762879,"y":537.999988448508},"type":"org.apache.nifi.processors.standard.SplitRecord","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Record Writer":"50e96367-7b84-3034-8dbf-6e02fa7c01df","Record Reader":"c127588a-e95f-382f-afb1-33f9b279c38d","Records Per Split":"1"},"propertyDescriptors":{"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Records Per Split":{"name":"Records Per Split","displayName":"Records Per Split","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["original","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"}],"inputPorts":[],"outputPorts":[],"connections":[{"identifier":"9552346e-6dd7-3991-99f5-479e87ebb4b6","instanceIdentifier":"1bfdc782-8410-3e9d-a004-7d21c43fa5bb","name":"","source":{"id":"26a592be-7444-337c-b8f9-3a29013cb760","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Get station status","comments":"","instanceIdentifier":"0ea082f4-3f0d-38db-bd4b-51feb5428cc6"},"destination":{"id":"3a46b8c1-c2c6-3006-0000-000066d6dbdd","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Extract data attribute","comments":"","instanceIdentifier":"9e653a1f-9897-3124-8aa1-83321219f2fc"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":10000,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"2c1c00a7-bf5d-3937-8fb3-8ee54b5117e3","instanceIdentifier":"eb0cef96-08d3-39de-8518-cf136ccd5871","name":"","source":{"id":"5e50831e-a2fd-34c9-af0a-924b16280705","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Get station information","comments":"","instanceIdentifier":"54f2ba99-3a49-3160-b8b9-45b8c0a6ac2a"},"destination":{"id":"405f050c-5005-3b96-ffff-ffffbc8a379e","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Extract data attribute","comments":"","instanceIdentifier":"3dd55349-9324-36ea-a6a0-d76280b79609"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":10000,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"e7f33855-2961-3414-8c28-3056fcdac571","instanceIdentifier":"dc784d10-a696-3f10-94b8-f6bb1fae7235","name":"","source":{"id":"00bcf948-7bef-35b6-8a6d-e641194b8189","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Get station list","comments":"","instanceIdentifier":"d92196ba-38f9-3b77-b9a4-4e0dfe564d3f"},"destination":{"id":"1a0aea35-946c-35de-8811-549faeb003ee","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Produce station records","comments":"","instanceIdentifier":"81675904-0195-1000-ffff-ffffbbbb9cfe"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":10000,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"f1255a8c-06e1-310c-bd02-5e34b218a02f","instanceIdentifier":"8172e290-0195-1000-0000-0000188da43e","name":"","source":{"id":"056f4faa-a4dc-3024-ffff-ffffb73ef3a0","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Extract data attribute","comments":"","instanceIdentifier":"7b0b12f3-669e-32c4-b866-dea8a4a6f34a"},"destination":{"id":"d9bacb7c-10df-3044-ffff-ffffe7a604af","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Produce bike status records","comments":"","instanceIdentifier":"8c7c157b-6f95-399c-83f7-54a79ea11078"},"labelIndex":0,"zIndex":0,"selectedRelationships":["success"],"backPressureObjectThreshold":10000,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"ae09a6b6-1dcd-35bc-82ec-62171973c61b","instanceIdentifier":"a742154d-a24c-3bb8-9f65-cbc95810a284","name":"","source":{"id":"de71001e-de69-32c2-82b9-6f008665b252","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Get 30 minutes of historic data","comments":"","instanceIdentifier":"df138016-7764-3ad6-ac10-9f57e657461d"},"destination":{"id":"42346af3-5793-3b8c-ffff-ffffc5c5139d","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Add station_uuid","comments":"","instanceIdentifier":"f9f95954-77fc-3f16-9b94-54ca68090b21"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":10,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"709e7c78-6123-386a-a0ce-5a7394c4d39e","instanceIdentifier":"9ab4b88c-e4c3-3303-88d1-18c8b5f00817","name":"","source":{"id":"fc594301-ecc4-353b-8330-7aecb14e6422","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Get station list","comments":"","instanceIdentifier":"f049f0b7-46f9-332b-bce3-925167b05f37"},"destination":{"id":"577f603d-ee9c-3202-8139-d35d94c9c311","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"SplitRecord","comments":"","instanceIdentifier":"331d7feb-96a3-3998-9a1e-5b23cca85c5f"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":1,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"e4d5da00-e103-3166-8381-d4f2533c7a9d","instanceIdentifier":"a559d40e-de21-3d84-a6e8-1abcfe13601a","name":"","source":{"id":"7133f561-971a-35b6-abff-9892e06b4bbe","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Get 30 days historic data","comments":"","instanceIdentifier":"fd7775f9-0f65-361a-bcb9-71668ae1a663"},"destination":{"id":"ba73d7c1-102f-3888-a573-5e6d2ec9e1f0","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Add station_uuid","comments":"","instanceIdentifier":"816f11f1-0195-1000-ffff-ffffd698d6c2"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":10,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"fd7e3f54-ea73-3f6b-9700-33442d5ee235","instanceIdentifier":"72965aa1-df12-31a6-9eb8-ac5d006406e0","name":"","source":{"id":"577f603d-ee9c-3202-8139-d35d94c9c311","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"SplitRecord","comments":"","instanceIdentifier":"331d7feb-96a3-3998-9a1e-5b23cca85c5f"},"destination":{"id":"0640256b-010a-3e69-b961-680e63ec85e2","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Extract station_uuid","comments":"","instanceIdentifier":"71fee077-9f08-3916-b189-f933b8f13619"},"labelIndex":1,"zIndex":0,"selectedRelationships":["splits"],"backPressureObjectThreshold":10,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"ROUND_ROBIN","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"3bec8550-723b-3b2c-89c9-d57298a1ab03","instanceIdentifier":"816ffee3-0195-1000-ffff-ffffd4be0c57","name":"","source":{"id":"ba73d7c1-102f-3888-a573-5e6d2ec9e1f0","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Add station_uuid","comments":"","instanceIdentifier":"816f11f1-0195-1000-ffff-ffffd698d6c2"},"destination":{"id":"99d1a93c-6332-3e77-0000-0000527115be","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"PublishKafka","comments":"","instanceIdentifier":"839f75a2-3a32-38b7-8c36-50498002e9c1"},"labelIndex":0,"zIndex":0,"selectedRelationships":["success"],"backPressureObjectThreshold":20,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"14af6270-d836-3045-a5ca-1e699f1da8ee","instanceIdentifier":"81729813-0195-1000-0000-0000137d67da","name":"","source":{"id":"3a46b8c1-c2c6-3006-0000-000066d6dbdd","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Extract data attribute","comments":"","instanceIdentifier":"9e653a1f-9897-3124-8aa1-83321219f2fc"},"destination":{"id":"dd4690f7-ae51-36bb-0000-0000325e1eed","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Produce station status records","comments":"","instanceIdentifier":"664aded4-922a-3da4-a584-7d5e43361201"},"labelIndex":0,"zIndex":0,"selectedRelationships":["success"],"backPressureObjectThreshold":10000,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"138e8f4a-3dbd-3b9a-a259-c00bd60194c1","instanceIdentifier":"796cfe4a-0f27-38df-a07f-03c8f172cc47","name":"","source":{"id":"c6929ff2-ea95-3d79-a483-3ffa75371ee4","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"SplitRecord","comments":"","instanceIdentifier":"78b9af30-7922-3dd6-91d4-f88d7f984ec6"},"destination":{"id":"a1453322-1c3f-3150-a5be-0330c98144d9","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Extract station_uuid","comments":"","instanceIdentifier":"be5c2f57-09fd-3608-8c9c-9779e52c0ce8"},"labelIndex":1,"zIndex":0,"selectedRelationships":["splits"],"backPressureObjectThreshold":10,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"ROUND_ROBIN","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"d09052a3-4cb1-35c1-bed3-cbee709b53b3","instanceIdentifier":"84221825-bfbc-3c5b-82bb-bfc3e21fcb48","name":"","source":{"id":"a1453322-1c3f-3150-a5be-0330c98144d9","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Extract station_uuid","comments":"","instanceIdentifier":"be5c2f57-09fd-3608-8c9c-9779e52c0ce8"},"destination":{"id":"7133f561-971a-35b6-abff-9892e06b4bbe","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Get 30 days historic data","comments":"","instanceIdentifier":"fd7775f9-0f65-361a-bcb9-71668ae1a663"},"labelIndex":1,"zIndex":0,"selectedRelationships":["matched"],"backPressureObjectThreshold":10,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"572214c6-71ac-3533-964f-fd44e1ec17f2","instanceIdentifier":"8171dd08-0195-1000-0000-000061d1719e","name":"","source":{"id":"405f050c-5005-3b96-ffff-ffffbc8a379e","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Extract data attribute","comments":"","instanceIdentifier":"3dd55349-9324-36ea-a6a0-d76280b79609"},"destination":{"id":"90d02439-1516-3c8a-ffff-ffff8b2ffb20","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Produce station information records","comments":"","instanceIdentifier":"3a5f9f2c-bafa-3ae3-bc1b-2e8f1dbea59e"},"labelIndex":0,"zIndex":0,"selectedRelationships":["success"],"backPressureObjectThreshold":10000,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"c75b4056-44a4-3f5e-93f8-e461b2550623","instanceIdentifier":"373d1546-8ba2-3b9a-9c66-6b8f9b1917b8","name":"","source":{"id":"364e250b-f224-3e12-b4cf-c782c9a06bbe","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Get free bike status","comments":"","instanceIdentifier":"143b2ea1-f9cc-3140-afd1-426a846dd9d0"},"destination":{"id":"056f4faa-a4dc-3024-ffff-ffffb73ef3a0","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Extract data attribute","comments":"","instanceIdentifier":"7b0b12f3-669e-32c4-b866-dea8a4a6f34a"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":10000,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"5448c0cf-2aa5-3ef8-8ecd-836ab3fdb853","instanceIdentifier":"0eff3813-31ae-3e6e-9f91-8883c0b83ff4","name":"","source":{"id":"98c83f54-9f99-3d95-88b0-ae91140707c9","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Get station list","comments":"","instanceIdentifier":"098befce-068e-3d63-8586-1a7309e40e58"},"destination":{"id":"c6929ff2-ea95-3d79-a483-3ffa75371ee4","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"SplitRecord","comments":"","instanceIdentifier":"78b9af30-7922-3dd6-91d4-f88d7f984ec6"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":1,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"9acf6812-3d3a-3f35-94e9-fa6eb209342f","instanceIdentifier":"8170bfea-0195-1000-ffff-ffffdc31cffd","name":"","source":{"id":"42346af3-5793-3b8c-ffff-ffffc5c5139d","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Add station_uuid","comments":"","instanceIdentifier":"f9f95954-77fc-3f16-9b94-54ca68090b21"},"destination":{"id":"762fb4f3-201b-3c92-ffff-ffff8e7e57fd","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"PublishKafka","comments":"","instanceIdentifier":"3d7eb954-e054-3324-aea1-5aa7a03dc120"},"labelIndex":0,"zIndex":0,"selectedRelationships":["success"],"backPressureObjectThreshold":20,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"1ca5e75c-5900-3f28-94cb-25f1ade9a5a0","instanceIdentifier":"ee452230-0ad0-3409-8b03-39acaf8ec15e","name":"","source":{"id":"0640256b-010a-3e69-b961-680e63ec85e2","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Extract station_uuid","comments":"","instanceIdentifier":"71fee077-9f08-3916-b189-f933b8f13619"},"destination":{"id":"de71001e-de69-32c2-82b9-6f008665b252","type":"PROCESSOR","groupId":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911","name":"Get 30 minutes of historic data","comments":"","instanceIdentifier":"df138016-7764-3ad6-ac10-9f57e657461d"},"labelIndex":1,"zIndex":0,"selectedRelationships":["matched"],"backPressureObjectThreshold":10,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"}],"labels":[{"identifier":"f531aeda-2cad-3391-bc64-d10934a5f355","instanceIdentifier":"f990fed8-9ffc-3b20-8795-efeaf1c55396","position":{"x":1309.0000007628792,"y":241.99998844850802},"label":"Stream real-time data","zIndex":0,"width":152.0,"height":24.0,"style":{"font-size":"12px"},"componentType":"LABEL","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"b4bf22b0-ff9e-3244-90bd-c6306a8e1fe5","instanceIdentifier":"fdd434de-64f4-36e8-b1a8-63ad26549901","position":{"x":1701.0000007628792,"y":201.99998844850802},"label":"Shared bikes data","zIndex":0,"width":1152.0,"height":24.0,"style":{"font-size":"12px"},"componentType":"LABEL","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"637f34a6-0a08-34a9-bdcd-b3bfc4257a4c","instanceIdentifier":"730910f3-60f8-3278-9098-5d864bca1ad3","position":{"x":2501.000000762879,"y":241.99998844850802},"label":"Ingest bike status","zIndex":0,"width":152.0,"height":24.0,"style":{"font-size":"12px"},"componentType":"LABEL","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"cb5fcdeb-c972-34cb-af5a-f6812416ed2d","instanceIdentifier":"aafc5a3c-bbc6-3ef0-81e8-743f9dd99644","position":{"x":1701.0000007628792,"y":241.99998844850802},"label":"Ingest station information","zIndex":0,"width":152.0,"height":24.0,"style":{"font-size":"12px"},"componentType":"LABEL","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"f3bd6d3a-3dea-3909-a60e-aa3a34542e5c","instanceIdentifier":"b8ec73a5-19b4-3d53-b152-7d99129c6342","position":{"x":557.000000762879,"y":241.99998844850802},"label":"Ingest station records","zIndex":0,"width":152.0,"height":24.0,"style":{"font-size":"12px"},"componentType":"LABEL","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"6dcd3b2a-e51d-329f-9aca-bffdc414bb51","instanceIdentifier":"61a589ce-b17b-3090-ae4b-e9ce0dab0047","position":{"x":2101.000000762879,"y":241.99998844850802},"label":"Ingest station status","zIndex":0,"width":152.0,"height":24.0,"style":{"font-size":"12px"},"componentType":"LABEL","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"543a323b-3976-313c-9344-05c172ab5d02","instanceIdentifier":"8e99d259-10ae-3f12-8b51-fdca63c2c201","position":{"x":933.000000762879,"y":241.99998844850802},"label":"Ingest historic data","zIndex":0,"width":152.0,"height":24.0,"style":{"font-size":"12px"},"componentType":"LABEL","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"f9ea8997-f618-3472-9745-93ca1036d176","instanceIdentifier":"0393438f-a1a3-3b2a-8012-66c5050636cd","position":{"x":557.000000762879,"y":201.99998844850802},"label":"Water levels data","zIndex":0,"width":1104.0,"height":24.0,"style":{"font-size":"12px"},"componentType":"LABEL","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"}],"funnels":[],"controllerServices":[{"identifier":"906147e9-0ba3-3951-8764-15e14a9766d6","instanceIdentifier":"31167665-331b-3abd-bbec-8026382f3e57","name":"StandardRestrictedSSLContextService","comments":"","type":"org.apache.nifi.ssl.StandardRestrictedSSLContextService","bundle":{"group":"org.apache.nifi","artifact":"nifi-ssl-context-service-nar","version":"2.2.0"},"properties":{"Truststore Type":"PKCS12","Truststore Password":"secret","SSL Protocol":"TLSv1.3","Keystore Password":"secret","Keystore Type":"PKCS12","Truststore Filename":"/stackable/keystore/truststore.p12","Keystore Filename":"/stackable/keystore/keystore.p12"},"propertyDescriptors":{"Truststore Type":{"name":"Truststore Type","displayName":"Truststore Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Protocol":{"name":"SSL Protocol","displayName":"TLS Protocol","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Keystore Type":{"name":"Keystore Type","displayName":"Keystore Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Truststore Filename":{"name":"Truststore Filename","displayName":"Truststore Filename","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["FILE"]}},"Keystore Password":{"name":"Keystore Password","displayName":"Keystore Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"key-password":{"name":"key-password","displayName":"Key Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Truststore Password":{"name":"Truststore Password","displayName":"Truststore Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Keystore Filename":{"name":"Keystore Filename","displayName":"Keystore Filename","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["FILE"]}}},"controllerServiceApis":[{"type":"org.apache.nifi.ssl.SSLContextProvider","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}},{"type":"org.apache.nifi.ssl.SSLContextService","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}},{"type":"org.apache.nifi.ssl.RestrictedSSLContextService","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"50e96367-7b84-3034-8dbf-6e02fa7c01df","instanceIdentifier":"d795c667-0833-34e1-9d2b-4ae37d102704","name":"JsonRecordSetWriter","type":"org.apache.nifi.json.JsonRecordSetWriter","bundle":{"group":"org.apache.nifi","artifact":"nifi-record-serialization-services-nar","version":"2.2.0"},"properties":{"schema-reference-reader":null,"schema-branch":null,"Allow Scientific Notation":"false","compression-level":"1","schema-cache":null,"Timestamp Format":null,"Date Format":null,"Pretty Print JSON":"false","compression-format":"none","Schema Write Strategy":"no-schema","suppress-nulls":"never-suppress","output-grouping":"output-array","schema-name":"${schema.name}","schema-registry":null,"Time Format":null,"schema-access-strategy":"inherit-record-schema","schema-version":null,"schema-text":"${avro.schema}","Schema Reference Writer":null},"propertyDescriptors":{"schema-reference-reader":{"name":"schema-reference-reader","displayName":"Schema Reference Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"schema-branch":{"name":"schema-branch","displayName":"Schema Branch","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Allow Scientific Notation":{"name":"Allow Scientific Notation","displayName":"Allow Scientific Notation","identifiesControllerService":false,"sensitive":false,"dynamic":false},"compression-level":{"name":"compression-level","displayName":"Compression Level","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-cache":{"name":"schema-cache","displayName":"Schema Cache","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Timestamp Format":{"name":"Timestamp Format","displayName":"Timestamp Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Date Format":{"name":"Date Format","displayName":"Date Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Pretty Print JSON":{"name":"Pretty Print JSON","displayName":"Pretty Print JSON","identifiesControllerService":false,"sensitive":false,"dynamic":false},"compression-format":{"name":"compression-format","displayName":"Compression Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Schema Write Strategy":{"name":"Schema Write Strategy","displayName":"Schema Write Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"suppress-nulls":{"name":"suppress-nulls","displayName":"Suppress Null Values","identifiesControllerService":false,"sensitive":false,"dynamic":false},"output-grouping":{"name":"output-grouping","displayName":"Output Grouping","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-name":{"name":"schema-name","displayName":"Schema Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-registry":{"name":"schema-registry","displayName":"Schema Registry","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Time Format":{"name":"Time Format","displayName":"Time Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-access-strategy":{"name":"schema-access-strategy","displayName":"Schema Access Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-version":{"name":"schema-version","displayName":"Schema Version","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-text":{"name":"schema-text","displayName":"Schema Text","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Schema Reference Writer":{"name":"Schema Reference Writer","displayName":"Schema Reference Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false}},"controllerServiceApis":[{"type":"org.apache.nifi.serialization.RecordSetWriterFactory","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"a7cc755f-2210-3763-889e-24c3e0b0684d","instanceIdentifier":"8167b5da-0195-1000-ffff-ffff926c765c","name":"Kafka3ConnectionService","comments":"","type":"org.apache.nifi.kafka.service.Kafka3ConnectionService","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-3-service-nar","version":"2.2.0"},"properties":{"security.protocol":"SSL","SSL Context Service":"906147e9-0ba3-3951-8764-15e14a9766d6","ack.wait.time":"5 sec","sasl.username":null,"max.poll.records":"10000","sasl.mechanism":"GSSAPI","isolation.level":"read_committed","max.block.ms":"5 sec","bootstrap.servers":"kafka-broker-default.default.svc.cluster.local:9093","kerberos-user-service":null,"sasl.kerberos.service.name":null,"default.api.timeout.ms":"60 sec"},"propertyDescriptors":{"ack.wait.time":{"name":"ack.wait.time","displayName":"Acknowledgment Wait Time","identifiesControllerService":false,"sensitive":false,"dynamic":false},"sasl.username":{"name":"sasl.username","displayName":"SASL Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.poll.records":{"name":"max.poll.records","displayName":"Max Poll Records","identifiesControllerService":false,"sensitive":false,"dynamic":false},"bootstrap.servers":{"name":"bootstrap.servers","displayName":"Bootstrap Servers","identifiesControllerService":false,"sensitive":false,"dynamic":false},"sasl.kerberos.service.name":{"name":"sasl.kerberos.service.name","displayName":"Kerberos Service Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"security.protocol":{"name":"security.protocol","displayName":"Security Protocol","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"sasl.mechanism":{"name":"sasl.mechanism","displayName":"SASL Mechanism","identifiesControllerService":false,"sensitive":false,"dynamic":false},"isolation.level":{"name":"isolation.level","displayName":"Transaction Isolation Level","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.block.ms":{"name":"max.block.ms","displayName":"Max Metadata Wait Time","identifiesControllerService":false,"sensitive":false,"dynamic":false},"kerberos-user-service":{"name":"kerberos-user-service","displayName":"Kerberos User Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"sasl.password":{"name":"sasl.password","displayName":"SASL Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"default.api.timeout.ms":{"name":"default.api.timeout.ms","displayName":"Client Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"controllerServiceApis":[{"type":"org.apache.nifi.kafka.service.api.KafkaConnectionService","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-service-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"},{"identifier":"c127588a-e95f-382f-afb1-33f9b279c38d","instanceIdentifier":"715ff6c2-fd41-366f-9922-e0365c063f33","name":"JsonTreeReader","type":"org.apache.nifi.json.JsonTreeReader","bundle":{"group":"org.apache.nifi","artifact":"nifi-record-serialization-services-nar","version":"2.2.0"},"properties":{"schema-reference-reader":null,"schema-branch":null,"Max String Length":"20 MB","schema-application-strategy":"SELECTED_PART","Timestamp Format":null,"schema-inference-cache":null,"Date Format":null,"schema-name":"${schema.name}","starting-field-strategy":"ROOT_NODE","schema-registry":null,"starting-field-name":null,"Time Format":null,"schema-access-strategy":"infer-schema","schema-version":null,"schema-text":"${avro.schema}","Allow Comments":"false"},"propertyDescriptors":{"schema-reference-reader":{"name":"schema-reference-reader","displayName":"Schema Reference Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"schema-branch":{"name":"schema-branch","displayName":"Schema Branch","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-application-strategy":{"name":"schema-application-strategy","displayName":"Schema Application Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Timestamp Format":{"name":"Timestamp Format","displayName":"Timestamp Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-inference-cache":{"name":"schema-inference-cache","displayName":"Schema Inference Cache","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Date Format":{"name":"Date Format","displayName":"Date Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-name":{"name":"schema-name","displayName":"Schema Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"starting-field-strategy":{"name":"starting-field-strategy","displayName":"Starting Field Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-registry":{"name":"schema-registry","displayName":"Schema Registry","identifiesControllerService":true,"sensitive":false,"dynamic":false},"starting-field-name":{"name":"starting-field-name","displayName":"Starting Field Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Time Format":{"name":"Time Format","displayName":"Time Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-access-strategy":{"name":"schema-access-strategy","displayName":"Schema Access Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-version":{"name":"schema-version","displayName":"Schema Version","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-text":{"name":"schema-text","displayName":"Schema Text","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Allow Comments":{"name":"Allow Comments","displayName":"Allow Comments","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"controllerServiceApis":[{"type":"org.apache.nifi.serialization.RecordReaderFactory","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"eaab7dc0-4761-3f1f-9dd5-ff82bd301911"}],"defaultFlowFileExpiration":"0 sec","defaultBackPressureObjectThreshold":10000,"defaultBackPressureDataSizeThreshold":"1 GB","scheduledState":"ENABLED","executionEngine":"INHERITED","maxConcurrentTasks":1,"statelessFlowTimeout":"1 min","flowFileConcurrency":"UNBOUNDED","flowFileOutboundPolicy":"STREAM_WHEN_AVAILABLE","componentType":"PROCESS_GROUP"},"externalControllerServices":{},"parameterContexts":{},"flowEncodingVersion":"1.0","parameterProviders":{},"latest":false}
diff --git a/demos/data-lakehouse-iceberg-trino-spark/LakehouseKafkaIngest.xml b/demos/data-lakehouse-iceberg-trino-spark/LakehouseKafkaIngest.xml
deleted file mode 100644
index f75e671a..00000000
--- a/demos/data-lakehouse-iceberg-trino-spark/LakehouseKafkaIngest.xml
+++ /dev/null
@@ -1,7893 +0,0 @@
-
-
-
- 9980d63b-0187-1000-a5dc-a62c7d3b3547
- LakehouseKafkaIngest
-
-
- 214c63e5-57c2-3826-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- fd2c0def-7d23-3f2f-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 3b0fc88f-a4ed-3bbe-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 21fc23ed-8716-307b-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 1
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 7474a93f-0487-3c62-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- dd28f81c-2b29-39b6-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 2268dac3-3538-3be8-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- cec400bf-3288-3509-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_INACTIVE
- ROUND_ROBIN
-
- splits
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 7474a93f-0487-3c62-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 261379ce-78fc-3675-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 20
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 56a21f1a-3980-3193-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- success
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- fd2c0def-7d23-3f2f-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 2e701300-66af-3676-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10000
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 67855c75-5907-35ac-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 15502b44-362b-3e77-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 3ce5f39f-334a-3af9-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10000
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 2e68a248-2bdb-31a0-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 4eff07a9-4e51-3289-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 564eb0de-103e-3c56-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10000
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- fa584bd1-111b-3766-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- success
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 9b40b9e3-7d30-3d9f-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 5a219cc4-ad08-35f5-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 1
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 4f03ff94-0daf-35e1-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 6db85a1c-b2fc-3fb8-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 5c9b33ca-0b9d-3faf-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 20
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- e8614509-8627-3ab5-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- success
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- f9939de4-2c7d-3553-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 6a10c8b0-eaa1-32d9-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10000
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- ebc39803-100a-37b3-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- success
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 2e68a248-2bdb-31a0-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 87b261b7-eea8-3fd9-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 437d7173-4e76-3c23-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- matched
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 841b7594-91ff-35c4-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 937dd77d-fd3b-3cbf-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10000
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- cfa6746d-eb21-3493-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 5acb14f1-0e12-3218-0000-000000000000
- PROCESSOR
-
- 0
-
-
- ad017def-7cc1-39ce-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10000
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 5e7ddba8-4fd9-34ff-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- success
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 67855c75-5907-35ac-0000-000000000000
- PROCESSOR
-
- 0
-
-
- b77b19d5-fa07-3cb7-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10000
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 9b40b9e3-7d30-3d9f-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- bc6fa135-92f9-3e73-0000-000000000000
- PROCESSOR
-
- 0
-
-
- e20d21e7-05b7-3251-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 841b7594-91ff-35c4-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_INACTIVE
- ROUND_ROBIN
-
- splits
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 4f03ff94-0daf-35e1-0000-000000000000
- PROCESSOR
-
- 0
-
-
- eb49abc1-faf3-3833-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 3b0fc88f-a4ed-3bbe-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- matched
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- cec400bf-3288-3509-0000-000000000000
- PROCESSOR
-
- 0
-
-
- f56773e8-95ee-3e9b-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 1 GB
- 10
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- f9939de4-2c7d-3553-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- bd57e9d4-c2e9-3ab0-0000-000000000000
- 437d7173-4e76-3c23-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 23346852-cb60-3e9f-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- WARN
-
- nifi-record-serialization-services-nar
- org.apache.nifi
- 1.18.0
-
-
-
- schema-access-strategy
-
- schema-access-strategy
-
-
-
- schema-registry
-
-
- confluent-encoded
- schema-name
- hwx-schema-ref-attributes
- hwx-content-encoded-schema
- schema-access-strategy
-
- org.apache.nifi.schemaregistry.services.SchemaRegistry
- schema-registry
-
-
-
- schema-name
-
-
- schema-name
- schema-access-strategy
-
- schema-name
-
-
-
- schema-version
-
-
- schema-name
- schema-access-strategy
-
- schema-version
-
-
-
- schema-branch
-
-
- schema-name
- schema-access-strategy
-
- schema-branch
-
-
-
- schema-text
-
-
- schema-text-property
- schema-access-strategy
-
- schema-text
-
-
-
- schema-inference-cache
-
-
- infer-schema
- schema-access-strategy
-
- org.apache.nifi.serialization.RecordSchemaCacheService
- schema-inference-cache
-
-
-
- starting-field-strategy
-
- starting-field-strategy
-
-
-
- starting-field-name
-
-
- NESTED_FIELD
- starting-field-strategy
-
- starting-field-name
-
-
-
- schema-application-strategy
-
-
- confluent-encoded
- schema-name
- schema-text-property
- hwx-schema-ref-attributes
- hwx-content-encoded-schema
- schema-access-strategy
-
-
- NESTED_FIELD
- starting-field-strategy
-
- schema-application-strategy
-
-
-
- Date Format
-
- Date Format
-
-
-
- Time Format
-
- Time Format
-
-
-
- Timestamp Format
-
- Timestamp Format
-
-
-
- JsonTreeReader
- false
-
-
- schema-access-strategy
- infer-schema
-
-
- schema-registry
-
-
- schema-name
- ${schema.name}
-
-
- schema-version
-
-
- schema-branch
-
-
- schema-text
- ${avro.schema}
-
-
- schema-inference-cache
-
-
- starting-field-strategy
- ROOT_NODE
-
-
- starting-field-name
-
-
- schema-application-strategy
- SELECTED_PART
-
-
- Date Format
-
-
- Time Format
-
-
- Timestamp Format
-
-
- ENABLED
- org.apache.nifi.json.JsonTreeReader
-
-
- 94510bb5-2383-39bf-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- WARN
-
- nifi-record-serialization-services-nar
- org.apache.nifi
- 1.18.0
-
-
-
- Schema Write Strategy
-
- Schema Write Strategy
-
-
-
- schema-cache
-
- org.apache.nifi.serialization.RecordSchemaCacheService
- schema-cache
-
-
-
- schema-protocol-version
-
-
- hwx-schema-ref-attributes
- hwx-content-encoded-schema
- Schema Write Strategy
-
- schema-protocol-version
-
-
-
- schema-access-strategy
-
- schema-access-strategy
-
-
-
- schema-registry
-
-
- confluent-encoded
- schema-name
- hwx-schema-ref-attributes
- hwx-content-encoded-schema
- schema-access-strategy
-
- org.apache.nifi.schemaregistry.services.SchemaRegistry
- schema-registry
-
-
-
- schema-name
-
-
- schema-name
- schema-access-strategy
-
- schema-name
-
-
-
- schema-version
-
-
- schema-name
- schema-access-strategy
-
- schema-version
-
-
-
- schema-branch
-
-
- schema-name
- schema-access-strategy
-
- schema-branch
-
-
-
- schema-text
-
-
- schema-text-property
- schema-access-strategy
-
- schema-text
-
-
-
- Date Format
-
- Date Format
-
-
-
- Time Format
-
- Time Format
-
-
-
- Timestamp Format
-
- Timestamp Format
-
-
-
- Pretty Print JSON
-
- Pretty Print JSON
-
-
-
- suppress-nulls
-
- suppress-nulls
-
-
-
- output-grouping
-
- output-grouping
-
-
-
- compression-format
-
- compression-format
-
-
-
- compression-level
-
-
- gzip
- compression-format
-
- compression-level
-
-
-
- JsonRecordSetWriter
- false
-
-
- Schema Write Strategy
- no-schema
-
-
- schema-cache
-
-
- schema-protocol-version
- 1
-
-
- schema-access-strategy
- inherit-record-schema
-
-
- schema-registry
-
-
- schema-name
- ${schema.name}
-
-
- schema-version
-
-
- schema-branch
-
-
- schema-text
- ${avro.schema}
-
-
- Date Format
-
-
- Time Format
-
-
- Timestamp Format
-
-
- Pretty Print JSON
- false
-
-
- suppress-nulls
- never-suppress
-
-
- output-grouping
- output-array
-
-
- compression-format
- none
-
-
- compression-level
- 1
-
-
- ENABLED
- org.apache.nifi.json.JsonRecordSetWriter
-
-
- b03f5441-2ed2-3930-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
- WARN
-
- nifi-ssl-context-service-nar
- org.apache.nifi
- 1.18.0
-
-
-
-
- Keystore Filename
-
- Keystore Filename
-
-
-
- Keystore Password
-
- Keystore Password
-
-
-
- key-password
-
- key-password
-
-
-
- Keystore Type
-
- Keystore Type
-
-
-
- Truststore Filename
-
- Truststore Filename
-
-
-
- Truststore Password
-
- Truststore Password
-
-
-
- Truststore Type
-
- Truststore Type
-
-
-
- SSL Protocol
-
- SSL Protocol
-
-
-
- StandardRestrictedSSLContextService
- false
-
-
- Keystore Filename
- /stackable/keystore/keystore.p12
-
-
- Keystore Password
- secret
-
-
- key-password
-
-
- Keystore Type
- PKCS12
-
-
- Truststore Filename
- /stackable/keystore/truststore.p12
-
-
- Truststore Password
- secret
-
-
- Truststore Type
- PKCS12
-
-
- SSL Protocol
- TLSv1.3
-
-
- ENABLED
- org.apache.nifi.ssl.StandardRestrictedSSLContextService
-
-
- 0c9cbe7f-050d-3eb0-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 376.0
- 40.0
-
- 24.0
-
-
- 152.0
- 0
-
-
- 12b43aa7-0e83-35d4-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1944.0
- 40.0
-
- 24.0
-
-
- 152.0
- 0
-
-
- 3fc3d06f-3c19-307d-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 0.0
- 40.0
-
- 24.0
-
-
- 152.0
- 0
-
-
- 651bee65-e0e0-390a-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 752.0
- 40.0
-
- 24.0
-
-
- 152.0
- 0
-
-
- 785f6788-4f2e-33be-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 0.0
- 0.0
-
- 24.0
-
-
- 1104.0
- 0
-
-
- 79f06deb-ee5d-3ab0-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1144.0
- 40.0
-
- 24.0
-
-
- 152.0
- 0
-
-
- 7d4b04df-2b1a-388e-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1544.0
- 40.0
-
- 24.0
-
-
- 152.0
- 0
-
-
- cc0d4d32-6bfb-33d5-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1144.0
- 0.0
-
- 24.0
-
-
- 1152.0
- 0
-
-
- 15502b44-362b-3e77-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1944.0
- 72.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- PRIMARY
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://api.mobidata-bw.de/sharing/gbfs/v2/deer/free_bike_status
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 1 m
- TIMER_DRIVEN
- 1 sec
-
- false
- Get free bike status
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 2e68a248-2bdb-31a0-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1144.0
- 336.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- jolt-transform
-
- jolt-transform
-
-
-
- jolt-custom-class
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-class
-
-
-
- jolt-custom-modules
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-modules
-
-
-
- jolt-spec
-
- jolt-spec
-
-
-
- Transform Cache Size
-
- Transform Cache Size
-
-
-
- pretty_print
-
- pretty_print
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- jolt-transform
- jolt-transform-chain
-
-
- jolt-custom-class
-
-
- jolt-custom-modules
-
-
- jolt-spec
- [
- {
- "operation": "shift",
- "spec": {
- "data": {
- "*": ""
- }
- }
- }
-]
-
-
-
- Transform Cache Size
- 1
-
-
- pretty_print
- false
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Extract data attribute
-
- true
- failure
- false
-
-
- false
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.JoltTransformJSON
-
-
- 3b0fc88f-a4ed-3bbe-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 752.0
- 792.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/${station_uuid}/W/measurements.json?start=PT30M
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 1 s
- TIMER_DRIVEN
- 1 sec
-
- false
- Get 30 minutes of historic data
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 437d7173-4e76-3c23-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 376.0
- 792.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/${station_uuid}/W/measurements.json?start=P30D
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Get 30 days historic data
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 4eff07a9-4e51-3289-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1144.0
- 72.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- PRIMARY
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://api.mobidata-bw.de/sharing/gbfs/v2/deer/station_information
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 10 m
- TIMER_DRIVEN
- 1 sec
-
- false
- Get station information
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 4f03ff94-0daf-35e1-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 376.0
- 336.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- Record Reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- Record Reader
-
-
-
- Record Writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- Record Writer
-
-
-
- Records Per Split
-
- Records Per Split
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- Record Reader
- 23346852-cb60-3e9f-0000-000000000000
-
-
- Record Writer
- 94510bb5-2383-39bf-0000-000000000000
-
-
- Records Per Split
- 1
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- SplitRecord
-
- true
- failure
- false
-
-
- true
- original
- false
-
-
- false
- splits
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.SplitRecord
-
-
- 56a21f1a-3980-3193-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 752.0
- 1232.0
-
-
- nifi-kafka-2-6-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- bootstrap.servers
-
- bootstrap.servers
-
-
-
- topic
-
- topic
-
-
-
- record-reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- record-reader
-
-
-
- record-writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- record-writer
-
-
-
- use-transactions
-
- use-transactions
-
-
-
- transactional-id-prefix
-
-
-true
-use-transactions
-
- transactional-id-prefix
-
-
-
- Failure Strategy
-
- Failure Strategy
-
-
-
- acks
-
- acks
-
-
-
- attribute-name-regex
-
- attribute-name-regex
-
-
-
- message-header-encoding
-
- message-header-encoding
-
-
-
- security.protocol
-
- security.protocol
-
-
-
- sasl.mechanism
-
- sasl.mechanism
-
-
-
- kerberos-credentials-service
-
- org.apache.nifi.kerberos.KerberosCredentialsService
- kerberos-credentials-service
-
-
-
- kerberos-user-service
-
- org.apache.nifi.kerberos.SelfContainedKerberosUserService
- kerberos-user-service
-
-
-
- sasl.kerberos.service.name
-
- sasl.kerberos.service.name
-
-
-
- sasl.kerberos.principal
-
- sasl.kerberos.principal
-
-
-
- sasl.kerberos.keytab
-
- sasl.kerberos.keytab
-
-
-
- sasl.username
-
- sasl.username
-
-
-
- sasl.password
-
- sasl.password
-
-
-
- sasl.token.auth
-
- sasl.token.auth
-
-
-
- ssl.context.service
-
- org.apache.nifi.ssl.SSLContextService
- ssl.context.service
-
-
-
- message-key-field
-
- message-key-field
-
-
-
- max.request.size
-
- max.request.size
-
-
-
- ack.wait.time
-
- ack.wait.time
-
-
-
- max.block.ms
-
- max.block.ms
-
-
-
- partitioner.class
-
- partitioner.class
-
-
-
- partition
-
- partition
-
-
-
- compression.type
-
- compression.type
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- bootstrap.servers
- kafka-broker-default.default.svc.cluster.local:9093
-
-
- topic
- water_levels_measurements
-
-
- record-reader
- 23346852-cb60-3e9f-0000-000000000000
-
-
- record-writer
- 94510bb5-2383-39bf-0000-000000000000
-
-
- use-transactions
- false
-
-
- transactional-id-prefix
-
-
- Failure Strategy
- Route to Failure
-
-
- acks
- all
-
-
- attribute-name-regex
-
-
- message-header-encoding
- UTF-8
-
-
- security.protocol
- SSL
-
-
- sasl.mechanism
- GSSAPI
-
-
- kerberos-credentials-service
-
-
- kerberos-user-service
-
-
- sasl.kerberos.service.name
-
-
- sasl.kerberos.principal
-
-
- sasl.kerberos.keytab
-
-
- sasl.username
-
-
- sasl.password
-
-
- sasl.token.auth
- false
-
-
- ssl.context.service
- b03f5441-2ed2-3930-0000-000000000000
-
-
- message-key-field
-
-
- max.request.size
- 1 MB
-
-
- ack.wait.time
- 5 secs
-
-
- max.block.ms
- 5 sec
-
-
- partitioner.class
- org.apache.kafka.clients.producer.internals.DefaultPartitioner
-
-
- partition
-
-
- compression.type
- snappy
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- PublishKafkaRecord_2_6
-
- true
- failure
- false
-
-
- true
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_6
-
-
- 5acb14f1-0e12-3218-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 0.0
- 72.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- PRIMARY
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 10 m
- TIMER_DRIVEN
- 1 sec
-
- false
- Get station list
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 5e7ddba8-4fd9-34ff-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1944.0
- 552.0
-
-
- nifi-kafka-2-6-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- bootstrap.servers
-
- bootstrap.servers
-
-
-
- topic
-
- topic
-
-
-
- record-reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- record-reader
-
-
-
- record-writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- record-writer
-
-
-
- use-transactions
-
- use-transactions
-
-
-
- transactional-id-prefix
-
-
-true
-use-transactions
-
- transactional-id-prefix
-
-
-
- Failure Strategy
-
- Failure Strategy
-
-
-
- acks
-
- acks
-
-
-
- attribute-name-regex
-
- attribute-name-regex
-
-
-
- message-header-encoding
-
- message-header-encoding
-
-
-
- security.protocol
-
- security.protocol
-
-
-
- sasl.mechanism
-
- sasl.mechanism
-
-
-
- kerberos-credentials-service
-
- org.apache.nifi.kerberos.KerberosCredentialsService
- kerberos-credentials-service
-
-
-
- kerberos-user-service
-
- org.apache.nifi.kerberos.SelfContainedKerberosUserService
- kerberos-user-service
-
-
-
- sasl.kerberos.service.name
-
- sasl.kerberos.service.name
-
-
-
- sasl.kerberos.principal
-
- sasl.kerberos.principal
-
-
-
- sasl.kerberos.keytab
-
- sasl.kerberos.keytab
-
-
-
- sasl.username
-
- sasl.username
-
-
-
- sasl.password
-
- sasl.password
-
-
-
- sasl.token.auth
-
- sasl.token.auth
-
-
-
- ssl.context.service
-
- org.apache.nifi.ssl.SSLContextService
- ssl.context.service
-
-
-
- message-key-field
-
- message-key-field
-
-
-
- max.request.size
-
- max.request.size
-
-
-
- ack.wait.time
-
- ack.wait.time
-
-
-
- max.block.ms
-
- max.block.ms
-
-
-
- partitioner.class
-
- partitioner.class
-
-
-
- partition
-
- partition
-
-
-
- compression.type
-
- compression.type
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- bootstrap.servers
- kafka-broker-default.default.svc.cluster.local:9093
-
-
- topic
- shared_bikes_bike_status
-
-
- record-reader
- 23346852-cb60-3e9f-0000-000000000000
-
-
- record-writer
- 94510bb5-2383-39bf-0000-000000000000
-
-
- use-transactions
- false
-
-
- transactional-id-prefix
-
-
- Failure Strategy
- Route to Failure
-
-
- acks
- all
-
-
- attribute-name-regex
-
-
- message-header-encoding
- UTF-8
-
-
- security.protocol
- SSL
-
-
- sasl.mechanism
- GSSAPI
-
-
- kerberos-credentials-service
-
-
- kerberos-user-service
-
-
- sasl.kerberos.service.name
-
-
- sasl.kerberos.principal
-
-
- sasl.kerberos.keytab
-
-
- sasl.username
-
-
- sasl.password
-
-
- sasl.token.auth
- false
-
-
- ssl.context.service
- b03f5441-2ed2-3930-0000-000000000000
-
-
- message-key-field
-
-
- max.request.size
- 1 MB
-
-
- ack.wait.time
- 5 secs
-
-
- max.block.ms
- 5 sec
-
-
- partitioner.class
- org.apache.kafka.clients.producer.internals.DefaultPartitioner
-
-
- partition
-
-
- compression.type
- none
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Produce bike status records
-
- true
- failure
- false
-
-
- true
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_6
-
-
- 67855c75-5907-35ac-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1944.0
- 336.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- jolt-transform
-
- jolt-transform
-
-
-
- jolt-custom-class
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-class
-
-
-
- jolt-custom-modules
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-modules
-
-
-
- jolt-spec
-
- jolt-spec
-
-
-
- Transform Cache Size
-
- Transform Cache Size
-
-
-
- pretty_print
-
- pretty_print
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- jolt-transform
- jolt-transform-chain
-
-
- jolt-custom-class
-
-
- jolt-custom-modules
-
-
- jolt-spec
- [
- {
- "operation": "shift",
- "spec": {
- "data": {
- "*": ""
- }
- }
- }
-]
-
-
-
- Transform Cache Size
- 1
-
-
- pretty_print
- false
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Extract data attribute
-
- true
- failure
- false
-
-
- false
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.JoltTransformJSON
-
-
- 6db85a1c-b2fc-3fb8-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 376.0
- 72.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- PRIMARY
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 365000 days
- TIMER_DRIVEN
- 1 sec
-
- false
- Get station list
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 7474a93f-0487-3c62-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 752.0
- 336.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- Record Reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- Record Reader
-
-
-
- Record Writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- Record Writer
-
-
-
- Records Per Split
-
- Records Per Split
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- Record Reader
- 23346852-cb60-3e9f-0000-000000000000
-
-
- Record Writer
- 94510bb5-2383-39bf-0000-000000000000
-
-
- Records Per Split
- 1
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- SplitRecord
-
- true
- failure
- false
-
-
- true
- original
- false
-
-
- false
- splits
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.SplitRecord
-
-
- 841b7594-91ff-35c4-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 376.0
- 552.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- Destination
-
- Destination
-
-
-
- Return Type
-
- Return Type
-
-
-
- Path Not Found Behavior
-
- Path Not Found Behavior
-
-
-
- Null Value Representation
-
- Null Value Representation
-
-
-
- station_uuid
-
- station_uuid
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- Destination
- flowfile-attribute
-
-
- Return Type
- auto-detect
-
-
- Path Not Found Behavior
- ignore
-
-
- Null Value Representation
- empty string
-
-
- station_uuid
- $.uuid
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Extract station_uuid
-
- true
- failure
- false
-
-
- false
- matched
- false
-
-
- true
- unmatched
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.EvaluateJsonPath
-
-
- 9b40b9e3-7d30-3d9f-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1544.0
- 336.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- jolt-transform
-
- jolt-transform
-
-
-
- jolt-custom-class
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-class
-
-
-
- jolt-custom-modules
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-modules
-
-
-
- jolt-spec
-
- jolt-spec
-
-
-
- Transform Cache Size
-
- Transform Cache Size
-
-
-
- pretty_print
-
- pretty_print
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- jolt-transform
- jolt-transform-chain
-
-
- jolt-custom-class
-
-
- jolt-custom-modules
-
-
- jolt-spec
- [
- {
- "operation": "shift",
- "spec": {
- "data": {
- "*": ""
- }
- }
- }
-]
-
-
-
- Transform Cache Size
- 1
-
-
- pretty_print
- false
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Extract data attribute
-
- true
- failure
- false
-
-
- false
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.JoltTransformJSON
-
-
- bc6fa135-92f9-3e73-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1544.0
- 72.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- PRIMARY
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://api.mobidata-bw.de/sharing/gbfs/v2/deer/station_status
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 1 m
- TIMER_DRIVEN
- 1 sec
-
- false
- Get station status
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- cec400bf-3288-3509-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 752.0
- 552.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- Destination
-
- Destination
-
-
-
- Return Type
-
- Return Type
-
-
-
- Path Not Found Behavior
-
- Path Not Found Behavior
-
-
-
- Null Value Representation
-
- Null Value Representation
-
-
-
- station_uuid
-
- station_uuid
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- Destination
- flowfile-attribute
-
-
- Return Type
- auto-detect
-
-
- Path Not Found Behavior
- ignore
-
-
- Null Value Representation
- empty string
-
-
- station_uuid
- $.uuid
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Extract station_uuid
-
- true
- failure
- false
-
-
- false
- matched
- false
-
-
- true
- unmatched
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.EvaluateJsonPath
-
-
- cfa6746d-eb21-3493-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 0.0
- 336.0
-
-
- nifi-kafka-2-6-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- bootstrap.servers
-
- bootstrap.servers
-
-
-
- topic
-
- topic
-
-
-
- record-reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- record-reader
-
-
-
- record-writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- record-writer
-
-
-
- use-transactions
-
- use-transactions
-
-
-
- transactional-id-prefix
-
-
-true
-use-transactions
-
- transactional-id-prefix
-
-
-
- Failure Strategy
-
- Failure Strategy
-
-
-
- acks
-
- acks
-
-
-
- attribute-name-regex
-
- attribute-name-regex
-
-
-
- message-header-encoding
-
- message-header-encoding
-
-
-
- security.protocol
-
- security.protocol
-
-
-
- sasl.mechanism
-
- sasl.mechanism
-
-
-
- kerberos-credentials-service
-
- org.apache.nifi.kerberos.KerberosCredentialsService
- kerberos-credentials-service
-
-
-
- kerberos-user-service
-
- org.apache.nifi.kerberos.SelfContainedKerberosUserService
- kerberos-user-service
-
-
-
- sasl.kerberos.service.name
-
- sasl.kerberos.service.name
-
-
-
- sasl.kerberos.principal
-
- sasl.kerberos.principal
-
-
-
- sasl.kerberos.keytab
-
- sasl.kerberos.keytab
-
-
-
- sasl.username
-
- sasl.username
-
-
-
- sasl.password
-
- sasl.password
-
-
-
- sasl.token.auth
-
- sasl.token.auth
-
-
-
- ssl.context.service
-
- org.apache.nifi.ssl.SSLContextService
- ssl.context.service
-
-
-
- message-key-field
-
- message-key-field
-
-
-
- max.request.size
-
- max.request.size
-
-
-
- ack.wait.time
-
- ack.wait.time
-
-
-
- max.block.ms
-
- max.block.ms
-
-
-
- partitioner.class
-
- partitioner.class
-
-
-
- partition
-
- partition
-
-
-
- compression.type
-
- compression.type
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- bootstrap.servers
- kafka-broker-default.default.svc.cluster.local:9093
-
-
- topic
- water_levels_stations
-
-
- record-reader
- 23346852-cb60-3e9f-0000-000000000000
-
-
- record-writer
- 94510bb5-2383-39bf-0000-000000000000
-
-
- use-transactions
- false
-
-
- transactional-id-prefix
-
-
- Failure Strategy
- Route to Failure
-
-
- acks
- all
-
-
- attribute-name-regex
-
-
- message-header-encoding
- UTF-8
-
-
- security.protocol
- SSL
-
-
- sasl.mechanism
- GSSAPI
-
-
- kerberos-credentials-service
-
-
- kerberos-user-service
-
-
- sasl.kerberos.service.name
-
-
- sasl.kerberos.principal
-
-
- sasl.kerberos.keytab
-
-
- sasl.username
-
-
- sasl.password
-
-
- sasl.token.auth
- false
-
-
- ssl.context.service
- b03f5441-2ed2-3930-0000-000000000000
-
-
- message-key-field
-
-
- max.request.size
- 1 MB
-
-
- ack.wait.time
- 5 secs
-
-
- max.block.ms
- 5 sec
-
-
- partitioner.class
- org.apache.kafka.clients.producer.internals.DefaultPartitioner
-
-
- partition
-
-
- compression.type
- none
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Produce station records
-
- true
- failure
- false
-
-
- true
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_6
-
-
- dd28f81c-2b29-39b6-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 752.0
- 72.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- PRIMARY
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 15 m
- TIMER_DRIVEN
- 1 sec
-
- false
- Get station list
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- e8614509-8627-3ab5-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 376.0
- 1232.0
-
-
- nifi-kafka-2-6-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- bootstrap.servers
-
- bootstrap.servers
-
-
-
- topic
-
- topic
-
-
-
- record-reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- record-reader
-
-
-
- record-writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- record-writer
-
-
-
- use-transactions
-
- use-transactions
-
-
-
- transactional-id-prefix
-
-
-true
-use-transactions
-
- transactional-id-prefix
-
-
-
- Failure Strategy
-
- Failure Strategy
-
-
-
- acks
-
- acks
-
-
-
- attribute-name-regex
-
- attribute-name-regex
-
-
-
- message-header-encoding
-
- message-header-encoding
-
-
-
- security.protocol
-
- security.protocol
-
-
-
- sasl.mechanism
-
- sasl.mechanism
-
-
-
- kerberos-credentials-service
-
- org.apache.nifi.kerberos.KerberosCredentialsService
- kerberos-credentials-service
-
-
-
- kerberos-user-service
-
- org.apache.nifi.kerberos.SelfContainedKerberosUserService
- kerberos-user-service
-
-
-
- sasl.kerberos.service.name
-
- sasl.kerberos.service.name
-
-
-
- sasl.kerberos.principal
-
- sasl.kerberos.principal
-
-
-
- sasl.kerberos.keytab
-
- sasl.kerberos.keytab
-
-
-
- sasl.username
-
- sasl.username
-
-
-
- sasl.password
-
- sasl.password
-
-
-
- sasl.token.auth
-
- sasl.token.auth
-
-
-
- ssl.context.service
-
- org.apache.nifi.ssl.SSLContextService
- ssl.context.service
-
-
-
- message-key-field
-
- message-key-field
-
-
-
- max.request.size
-
- max.request.size
-
-
-
- ack.wait.time
-
- ack.wait.time
-
-
-
- max.block.ms
-
- max.block.ms
-
-
-
- partitioner.class
-
- partitioner.class
-
-
-
- partition
-
- partition
-
-
-
- compression.type
-
- compression.type
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- bootstrap.servers
- kafka-broker-default.default.svc.cluster.local:9093
-
-
- topic
- water_levels_measurements
-
-
- record-reader
- 23346852-cb60-3e9f-0000-000000000000
-
-
- record-writer
- 94510bb5-2383-39bf-0000-000000000000
-
-
- use-transactions
- false
-
-
- transactional-id-prefix
-
-
- Failure Strategy
- Route to Failure
-
-
- acks
- all
-
-
- attribute-name-regex
-
-
- message-header-encoding
- UTF-8
-
-
- security.protocol
- SSL
-
-
- sasl.mechanism
- GSSAPI
-
-
- kerberos-credentials-service
-
-
- kerberos-user-service
-
-
- sasl.kerberos.service.name
-
-
- sasl.kerberos.principal
-
-
- sasl.kerberos.keytab
-
-
- sasl.username
-
-
- sasl.password
-
-
- sasl.token.auth
- false
-
-
- ssl.context.service
- b03f5441-2ed2-3930-0000-000000000000
-
-
- message-key-field
-
-
- max.request.size
- 1 MB
-
-
- ack.wait.time
- 5 secs
-
-
- max.block.ms
- 5 sec
-
-
- partitioner.class
- org.apache.kafka.clients.producer.internals.DefaultPartitioner
-
-
- partition
-
-
- compression.type
- snappy
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- PublishKafkaRecord_2_6
-
- true
- failure
- false
-
-
- true
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_6
-
-
- ebc39803-100a-37b3-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1144.0
- 552.0
-
-
- nifi-kafka-2-6-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- bootstrap.servers
-
- bootstrap.servers
-
-
-
- topic
-
- topic
-
-
-
- record-reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- record-reader
-
-
-
- record-writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- record-writer
-
-
-
- use-transactions
-
- use-transactions
-
-
-
- transactional-id-prefix
-
-
-true
-use-transactions
-
- transactional-id-prefix
-
-
-
- Failure Strategy
-
- Failure Strategy
-
-
-
- acks
-
- acks
-
-
-
- attribute-name-regex
-
- attribute-name-regex
-
-
-
- message-header-encoding
-
- message-header-encoding
-
-
-
- security.protocol
-
- security.protocol
-
-
-
- sasl.mechanism
-
- sasl.mechanism
-
-
-
- kerberos-credentials-service
-
- org.apache.nifi.kerberos.KerberosCredentialsService
- kerberos-credentials-service
-
-
-
- kerberos-user-service
-
- org.apache.nifi.kerberos.SelfContainedKerberosUserService
- kerberos-user-service
-
-
-
- sasl.kerberos.service.name
-
- sasl.kerberos.service.name
-
-
-
- sasl.kerberos.principal
-
- sasl.kerberos.principal
-
-
-
- sasl.kerberos.keytab
-
- sasl.kerberos.keytab
-
-
-
- sasl.username
-
- sasl.username
-
-
-
- sasl.password
-
- sasl.password
-
-
-
- sasl.token.auth
-
- sasl.token.auth
-
-
-
- ssl.context.service
-
- org.apache.nifi.ssl.SSLContextService
- ssl.context.service
-
-
-
- message-key-field
-
- message-key-field
-
-
-
- max.request.size
-
- max.request.size
-
-
-
- ack.wait.time
-
- ack.wait.time
-
-
-
- max.block.ms
-
- max.block.ms
-
-
-
- partitioner.class
-
- partitioner.class
-
-
-
- partition
-
- partition
-
-
-
- compression.type
-
- compression.type
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- bootstrap.servers
- kafka-broker-default.default.svc.cluster.local:9093
-
-
- topic
- shared_bikes_station_information
-
-
- record-reader
- 23346852-cb60-3e9f-0000-000000000000
-
-
- record-writer
- 94510bb5-2383-39bf-0000-000000000000
-
-
- use-transactions
- false
-
-
- transactional-id-prefix
-
-
- Failure Strategy
- Route to Failure
-
-
- acks
- all
-
-
- attribute-name-regex
-
-
- message-header-encoding
- UTF-8
-
-
- security.protocol
- SSL
-
-
- sasl.mechanism
- GSSAPI
-
-
- kerberos-credentials-service
-
-
- kerberos-user-service
-
-
- sasl.kerberos.service.name
-
-
- sasl.kerberos.principal
-
-
- sasl.kerberos.keytab
-
-
- sasl.username
-
-
- sasl.password
-
-
- sasl.token.auth
- false
-
-
- ssl.context.service
- b03f5441-2ed2-3930-0000-000000000000
-
-
- message-key-field
-
-
- max.request.size
- 1 MB
-
-
- ack.wait.time
- 5 secs
-
-
- max.block.ms
- 5 sec
-
-
- partitioner.class
- org.apache.kafka.clients.producer.internals.DefaultPartitioner
-
-
- partition
-
-
- compression.type
- none
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Produce station information records
-
- true
- failure
- false
-
-
- true
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_6
-
-
- f9939de4-2c7d-3553-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 376.0
- 1016.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- jolt-transform
-
- jolt-transform
-
-
-
- jolt-custom-class
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-class
-
-
-
- jolt-custom-modules
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-modules
-
-
-
- jolt-spec
-
- jolt-spec
-
-
-
- Transform Cache Size
-
- Transform Cache Size
-
-
-
- pretty_print
-
- pretty_print
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- jolt-transform
- jolt-transform-chain
-
-
- jolt-custom-class
-
-
- jolt-custom-modules
-
-
- jolt-spec
- [
- {
- "operation": "default",
- "spec": {
- "*": {
- "station_uuid": "${station_uuid}"
- }
- }
- }
-]
-
-
-
- Transform Cache Size
- 1
-
-
- pretty_print
- false
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Add station_uuid
-
- true
- failure
- false
-
-
- false
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.JoltTransformJSON
-
-
- fa584bd1-111b-3766-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 1544.0
- 552.0
-
-
- nifi-kafka-2-6-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- bootstrap.servers
-
- bootstrap.servers
-
-
-
- topic
-
- topic
-
-
-
- record-reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- record-reader
-
-
-
- record-writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- record-writer
-
-
-
- use-transactions
-
- use-transactions
-
-
-
- transactional-id-prefix
-
-
-true
-use-transactions
-
- transactional-id-prefix
-
-
-
- Failure Strategy
-
- Failure Strategy
-
-
-
- acks
-
- acks
-
-
-
- attribute-name-regex
-
- attribute-name-regex
-
-
-
- message-header-encoding
-
- message-header-encoding
-
-
-
- security.protocol
-
- security.protocol
-
-
-
- sasl.mechanism
-
- sasl.mechanism
-
-
-
- kerberos-credentials-service
-
- org.apache.nifi.kerberos.KerberosCredentialsService
- kerberos-credentials-service
-
-
-
- kerberos-user-service
-
- org.apache.nifi.kerberos.SelfContainedKerberosUserService
- kerberos-user-service
-
-
-
- sasl.kerberos.service.name
-
- sasl.kerberos.service.name
-
-
-
- sasl.kerberos.principal
-
- sasl.kerberos.principal
-
-
-
- sasl.kerberos.keytab
-
- sasl.kerberos.keytab
-
-
-
- sasl.username
-
- sasl.username
-
-
-
- sasl.password
-
- sasl.password
-
-
-
- sasl.token.auth
-
- sasl.token.auth
-
-
-
- ssl.context.service
-
- org.apache.nifi.ssl.SSLContextService
- ssl.context.service
-
-
-
- message-key-field
-
- message-key-field
-
-
-
- max.request.size
-
- max.request.size
-
-
-
- ack.wait.time
-
- ack.wait.time
-
-
-
- max.block.ms
-
- max.block.ms
-
-
-
- partitioner.class
-
- partitioner.class
-
-
-
- partition
-
- partition
-
-
-
- compression.type
-
- compression.type
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- bootstrap.servers
- kafka-broker-default.default.svc.cluster.local:9093
-
-
- topic
- shared_bikes_station_status
-
-
- record-reader
- 23346852-cb60-3e9f-0000-000000000000
-
-
- record-writer
- 94510bb5-2383-39bf-0000-000000000000
-
-
- use-transactions
- false
-
-
- transactional-id-prefix
-
-
- Failure Strategy
- Route to Failure
-
-
- acks
- all
-
-
- attribute-name-regex
-
-
- message-header-encoding
- UTF-8
-
-
- security.protocol
- SSL
-
-
- sasl.mechanism
- GSSAPI
-
-
- kerberos-credentials-service
-
-
- kerberos-user-service
-
-
- sasl.kerberos.service.name
-
-
- sasl.kerberos.principal
-
-
- sasl.kerberos.keytab
-
-
- sasl.username
-
-
- sasl.password
-
-
- sasl.token.auth
- false
-
-
- ssl.context.service
- b03f5441-2ed2-3930-0000-000000000000
-
-
- message-key-field
-
-
- max.request.size
- 1 MB
-
-
- ack.wait.time
- 5 secs
-
-
- max.block.ms
- 5 sec
-
-
- partitioner.class
- org.apache.kafka.clients.producer.internals.DefaultPartitioner
-
-
- partition
-
-
- compression.type
- none
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Produce station status records
-
- true
- failure
- false
-
-
- true
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_6
-
-
- fd2c0def-7d23-3f2f-0000-000000000000
- bd57e9d4-c2e9-3ab0-0000-000000000000
-
- 752.0
- 1016.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- jolt-transform
-
- jolt-transform
-
-
-
- jolt-custom-class
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-class
-
-
-
- jolt-custom-modules
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-modules
-
-
-
- jolt-spec
-
- jolt-spec
-
-
-
- Transform Cache Size
-
- Transform Cache Size
-
-
-
- pretty_print
-
- pretty_print
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- jolt-transform
- jolt-transform-chain
-
-
- jolt-custom-class
-
-
- jolt-custom-modules
-
-
- jolt-spec
- [
- {
- "operation": "default",
- "spec": {
- "*": {
- "station_uuid": "${station_uuid}"
- }
- }
- }
-]
-
-
-
- Transform Cache Size
- 1
-
-
- pretty_print
- false
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Add station_uuid
-
- true
- failure
- false
-
-
- false
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.JoltTransformJSON
-
-
- 04/19/2023 12:49:47 UTC
-
diff --git a/demos/data-lakehouse-iceberg-trino-spark/create-nifi-ingestion-job.yaml b/demos/data-lakehouse-iceberg-trino-spark/create-nifi-ingestion-job.yaml
index a33c2973..baea7957 100644
--- a/demos/data-lakehouse-iceberg-trino-spark/create-nifi-ingestion-job.yaml
+++ b/demos/data-lakehouse-iceberg-trino-spark/create-nifi-ingestion-job.yaml
@@ -14,7 +14,12 @@ spec:
containers:
- name: create-nifi-ingestion-job
image: oci.stackable.tech/sdp/testing-tools:0.2.0-stackable0.0.0-dev
- command: ["bash", "-c", "curl -O https://raw.githubusercontent.com/stackabletech/demos/main/demos/data-lakehouse-iceberg-trino-spark/LakehouseKafkaIngest.xml && python -u /tmp/script/script.py"]
+ command:
+ - bash
+ - -euo
+ - pipefail
+ - -c
+ - python -u /tmp/script/script.py
volumeMounts:
- name: script
mountPath: /tmp/script
@@ -41,9 +46,8 @@ metadata:
name: create-nifi-ingestion-job-script
data:
script.py: |
- from nipyapi.canvas import get_root_pg_id, schedule_process_group, list_all_controllers, schedule_controller
+ from nipyapi.canvas import get_root_pg_id, schedule_process_group, list_all_controllers, schedule_controller, update_controller
from nipyapi.security import service_login
- from nipyapi.templates import get_template, upload_template, deploy_template
import nipyapi
import os
import urllib3
@@ -52,26 +56,94 @@ data:
ENDPOINT = f"https://nifi-node-default-0.nifi-node-default.{os.environ['NAMESPACE']}.svc.cluster.local:8443" # For local testing / developing replace it, afterwards change back to f"https://nifi-node-default-0.nifi-node-default.{os.environ['NAMESPACE']}.svc.cluster.local:8443"
USERNAME = "admin"
PASSWORD = open("/nifi-admin-credentials-secret/admin").read()
- TEMPLATE_NAME = "LakehouseKafkaIngest"
- TEMPLATE_FILE = f"{TEMPLATE_NAME}.xml"
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
nipyapi.config.nifi_config.host = f"{ENDPOINT}/nifi-api"
nipyapi.config.nifi_config.verify_ssl = False
- print("Logging in")
+ print(f"Logging in as {USERNAME}")
service_login(username=USERNAME, password=PASSWORD)
print("Logged in")
- pg_id = get_root_pg_id()
+ organization = "stackabletech"
+ repository = "demos"
+ branch = "main"
+ version = "main"
+ directory = "demos/data-lakehouse-iceberg-trino-spark"
+ flow_name = "LakehouseKafkaIngest"
+
+ # Check if the GitHub flow registry client already exists
+ flow_registry_clients = nipyapi.nifi.ControllerApi().get_flow_registry_clients().registries
+
+ github_client = None
+ for client in flow_registry_clients:
+ if client.component.name == "GitHubFlowRegistryClient":
+ github_client = client
+ print("Found existing GitHub flow registry client")
+ break
- upload_template(pg_id, TEMPLATE_FILE)
+ if not github_client:
+ print("Creating new GitHub flow registry client")
+ github_client = nipyapi.nifi.ControllerApi().create_flow_registry_client(
+ body={
+ "revision": {"version": 0},
+ "component": {
+ "name": "GitHubFlowRegistryClient",
+ "type": "org.apache.nifi.github.GitHubFlowRegistryClient",
+ "properties": {
+ "Repository Owner": organization,
+ "Repository Name": repository,
+ },
+ "bundle": {
+ "group": "org.apache.nifi",
+ "artifact": "nifi-github-nar",
+ "version": "2.2.0",
+ },
+ },
+ }
+ )
+
+ pg_id = get_root_pg_id()
- template_id = get_template(TEMPLATE_NAME).id
- deploy_template(pg_id, template_id, 200, 0)
+ try:
+ # Create process group from the file in the Git repo
+ nipyapi.nifi.ProcessGroupsApi().create_process_group(
+ id=pg_id,
+ body={
+ "revision": {"version": 0},
+ "component": {
+ "position": {"x": 300, "y": 10},
+ "versionControlInformation": {
+ "registryId": github_client.component.id,
+ "flowId": flow_name,
+ "bucketId": directory,
+ "branch": branch,
+ "version": version,
+ },
+ },
+ },
+ )
+ except ValueError as e:
+ # Ignore, because nipyapi can't handle non-int versions yet
+ if "invalid literal for int() with base 10" in str(e):
+ print("Ignoring ValueError")
+ else:
+ raise e
- for controller in list_all_controllers():
- schedule_controller(controller, scheduled=True)
+ # Scheduling the `Kafka3ConnectionService` fails, if it is started before `StandardRestrictedSSLContextService`, since it depends on it
+ # To work around this, we try to schedule the controllers multiple times
+ # If `Kafka3ConnectionService` is started before `StandardRestrictedSSLContextService`, scheduling it will fail in the first iteration
+ # But it should succeed in the second attempt, since by then `StandardRestrictedSSLContextService` is started
+ max_retries = 2
+ for _ in range(max_retries):
+ controllers = list_all_controllers(pg_id)
+ for controller in controllers:
+ if controller.component.state != "ENABLED":
+ try:
+ schedule_controller(controller, scheduled=True)
+ print(f"Scheduled controller: {controller.component.name}")
+ except Exception as e:
+ print(f"Failed to schedule controller {controller.component.name}: {e}")
schedule_process_group(pg_id, scheduled=True)
diff --git a/demos/nifi-kafka-druid-earthquake-data/IngestEarthquakesToKafka.json b/demos/nifi-kafka-druid-earthquake-data/IngestEarthquakesToKafka.json
new file mode 100644
index 00000000..035b2f03
--- /dev/null
+++ b/demos/nifi-kafka-druid-earthquake-data/IngestEarthquakesToKafka.json
@@ -0,0 +1 @@
+{"flowContents":{"identifier":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4","instanceIdentifier":"a52fc536-0195-1000-ffff-ffffb77a46e7","name":"IngestEarthquakesToKafka_raw","comments":"","position":{"x":-408.0,"y":-176.0},"processGroups":[],"remoteProcessGroups":[],"processors":[{"identifier":"6f74b992-9f25-3fa8-ada3-eebe335159b3","instanceIdentifier":"a5301fb3-0195-1000-0000-0000734e0ae7","name":"SplitRecord","comments":"","position":{"x":472.0,"y":376.0},"type":"org.apache.nifi.processors.standard.SplitRecord","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Record Writer":"5e81a80d-728d-3c87-800e-aa957618da55","Record Reader":"d082021f-5f72-322a-8e1d-c5990d04b2b1","Records Per Split":"2000"},"propertyDescriptors":{"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Records Per Split":{"name":"Records Per Split","displayName":"Records Per Split","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["original","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4"},{"identifier":"e29d8c86-db41-3f3e-9ba7-bffeaefcade6","instanceIdentifier":"d86d6b2e-ed8f-3d61-9200-5c02c0918eec","name":"InvokeHTTP","comments":"","position":{"x":473.00000076287904,"y":142.99998844850802},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://repo.stackable.tech/repository/misc/earthquake-data/earthquakes_1950_to_2022.csv","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"true","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"365000 days","schedulingStrategy":"TIMER_DRIVEN","executionNode":"PRIMARY","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4"},{"identifier":"cd097bd8-d55f-3685-b63f-56d46d14c251","instanceIdentifier":"2ab64ebf-3492-348b-8b9a-7a97e920220f","name":"PublishKafka","comments":"","position":{"x":472.0,"y":608.0},"type":"org.apache.nifi.kafka.processors.PublishKafka","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-nar","version":"2.2.0"},"properties":{"compression.type":"none","acks":"all","Message Demarcator":null,"Kafka Key Attribute Encoding":"utf-8","Record Reader":"d082021f-5f72-322a-8e1d-c5990d04b2b1","Record Metadata Strategy":"FROM_PROPERTIES","Transactional ID Prefix":null,"Header Encoding":"UTF-8","max.request.size":"1 MB","Topic Name":"earthquakes","Kafka Key":null,"partition":null,"Kafka Connection Service":"db258647-11aa-30c5-a8c6-a49a4296cf19","Publish Strategy":"USE_VALUE","Record Key Writer":null,"Failure Strategy":"Route to Failure","partitioner.class":"org.apache.kafka.clients.producer.internals.DefaultPartitioner","Record Writer":"f3254a5e-0024-31c3-b59a-9edff2a099c9","Transactions Enabled":"false","Message Key Field":null,"FlowFile Attribute Header Pattern":null},"propertyDescriptors":{"compression.type":{"name":"compression.type","displayName":"Compression Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"acks":{"name":"acks","displayName":"Delivery Guarantee","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Demarcator":{"name":"Message Demarcator","displayName":"Message Demarcator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key Attribute Encoding":{"name":"Kafka Key Attribute Encoding","displayName":"Kafka Key Attribute Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Metadata Strategy":{"name":"Record Metadata Strategy","displayName":"Record Metadata Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transactional ID Prefix":{"name":"Transactional ID Prefix","displayName":"Transactional ID Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Header Encoding":{"name":"Header Encoding","displayName":"Header Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.request.size":{"name":"max.request.size","displayName":"Max Request Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Topic Name":{"name":"Topic Name","displayName":"Topic Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key":{"name":"Kafka Key","displayName":"Kafka Key","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partition":{"name":"partition","displayName":"Partition","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Connection Service":{"name":"Kafka Connection Service","displayName":"Kafka Connection Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Publish Strategy":{"name":"Publish Strategy","displayName":"Publish Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Key Writer":{"name":"Record Key Writer","displayName":"Record Key Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Failure Strategy":{"name":"Failure Strategy","displayName":"Failure Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partitioner.class":{"name":"partitioner.class","displayName":"Partitioner Class","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Transactions Enabled":{"name":"Transactions Enabled","displayName":"Transactions Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Key Field":{"name":"Message Key Field","displayName":"Message Key Field","identifiesControllerService":false,"sensitive":false,"dynamic":false},"FlowFile Attribute Header Pattern":{"name":"FlowFile Attribute Header Pattern","displayName":"FlowFile Attribute Header Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["success","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4"}],"inputPorts":[],"outputPorts":[],"connections":[{"identifier":"4a16d5e1-b4fa-3018-ba09-504a16238421","instanceIdentifier":"64b996e2-f357-34fe-aee6-e24d6fd201e4","name":"","source":{"id":"e29d8c86-db41-3f3e-9ba7-bffeaefcade6","type":"PROCESSOR","groupId":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4","name":"InvokeHTTP","comments":"","instanceIdentifier":"d86d6b2e-ed8f-3d61-9200-5c02c0918eec"},"destination":{"id":"6f74b992-9f25-3fa8-ada3-eebe335159b3","type":"PROCESSOR","groupId":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4","name":"SplitRecord","comments":"","instanceIdentifier":"a5301fb3-0195-1000-0000-0000734e0ae7"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":10000,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4"},{"identifier":"1025098e-3c22-37c0-9560-203bc51ef427","instanceIdentifier":"a530ccd7-0195-1000-0000-00004ed00e40","name":"","source":{"id":"6f74b992-9f25-3fa8-ada3-eebe335159b3","type":"PROCESSOR","groupId":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4","name":"SplitRecord","comments":"","instanceIdentifier":"a5301fb3-0195-1000-0000-0000734e0ae7"},"destination":{"id":"cd097bd8-d55f-3685-b63f-56d46d14c251","type":"PROCESSOR","groupId":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4","name":"PublishKafka","comments":"","instanceIdentifier":"2ab64ebf-3492-348b-8b9a-7a97e920220f"},"labelIndex":0,"zIndex":0,"selectedRelationships":["splits"],"backPressureObjectThreshold":10000,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4"}],"labels":[],"funnels":[],"controllerServices":[{"identifier":"db258647-11aa-30c5-a8c6-a49a4296cf19","instanceIdentifier":"d22c6c6b-4cd7-354f-b5d4-ba93b975ec64","name":"Kafka3ConnectionService","comments":"","type":"org.apache.nifi.kafka.service.Kafka3ConnectionService","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-3-service-nar","version":"2.2.0"},"properties":{"security.protocol":"SSL","SSL Context Service":"7fce889c-fc16-3f69-b7b4-44a90a81ae38","ack.wait.time":"5 sec","sasl.username":null,"max.poll.records":"10000","sasl.mechanism":"GSSAPI","isolation.level":"read_committed","max.block.ms":"5 sec","bootstrap.servers":"kafka-broker-default.default.svc.cluster.local:9093","kerberos-user-service":null,"sasl.kerberos.service.name":null,"default.api.timeout.ms":"60 sec"},"propertyDescriptors":{"ack.wait.time":{"name":"ack.wait.time","displayName":"Acknowledgment Wait Time","identifiesControllerService":false,"sensitive":false,"dynamic":false},"sasl.username":{"name":"sasl.username","displayName":"SASL Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.poll.records":{"name":"max.poll.records","displayName":"Max Poll Records","identifiesControllerService":false,"sensitive":false,"dynamic":false},"bootstrap.servers":{"name":"bootstrap.servers","displayName":"Bootstrap Servers","identifiesControllerService":false,"sensitive":false,"dynamic":false},"sasl.kerberos.service.name":{"name":"sasl.kerberos.service.name","displayName":"Kerberos Service Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"security.protocol":{"name":"security.protocol","displayName":"Security Protocol","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"sasl.mechanism":{"name":"sasl.mechanism","displayName":"SASL Mechanism","identifiesControllerService":false,"sensitive":false,"dynamic":false},"isolation.level":{"name":"isolation.level","displayName":"Transaction Isolation Level","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.block.ms":{"name":"max.block.ms","displayName":"Max Metadata Wait Time","identifiesControllerService":false,"sensitive":false,"dynamic":false},"kerberos-user-service":{"name":"kerberos-user-service","displayName":"Kerberos User Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"sasl.password":{"name":"sasl.password","displayName":"SASL Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"default.api.timeout.ms":{"name":"default.api.timeout.ms","displayName":"Client Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"controllerServiceApis":[{"type":"org.apache.nifi.kafka.service.api.KafkaConnectionService","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-service-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4"},{"identifier":"d082021f-5f72-322a-8e1d-c5990d04b2b1","instanceIdentifier":"ab119a98-0d96-3556-b54f-411fd9cdd462","name":"CSVReader","type":"org.apache.nifi.csv.CSVReader","bundle":{"group":"org.apache.nifi","artifact":"nifi-record-serialization-services-nar","version":"2.2.0"},"properties":{"schema-reference-reader":null,"ignore-csv-header":"false","schema-branch":null,"Trim double quote":"true","CSV Format":"custom","Quote Character":"\"","csvutils-allow-duplicate-header-names":"true","Value Separator":",","Record Separator":"\\n","Timestamp Format":null,"Escape Character":"\\","Date Format":null,"Null String":null,"Skip Header Line":"false","Trim Fields":"true","schema-name":"${schema.name}","schema-registry":null,"csv-reader-csv-parser":"commons-csv","Time Format":null,"Comment Marker":null,"schema-access-strategy":"infer-schema","schema-version":null,"csvutils-character-set":"UTF-8","schema-text":"${avro.schema}"},"propertyDescriptors":{"schema-reference-reader":{"name":"schema-reference-reader","displayName":"Schema Reference Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"ignore-csv-header":{"name":"ignore-csv-header","displayName":"Ignore CSV Header Column Names","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-branch":{"name":"schema-branch","displayName":"Schema Branch","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Trim double quote":{"name":"Trim double quote","displayName":"Trim double quote","identifiesControllerService":false,"sensitive":false,"dynamic":false},"CSV Format":{"name":"CSV Format","displayName":"CSV Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Quote Character":{"name":"Quote Character","displayName":"Quote Character","identifiesControllerService":false,"sensitive":false,"dynamic":false},"csvutils-allow-duplicate-header-names":{"name":"csvutils-allow-duplicate-header-names","displayName":"Allow Duplicate Header Names","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Value Separator":{"name":"Value Separator","displayName":"Value Separator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Separator":{"name":"Record Separator","displayName":"Record Separator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Timestamp Format":{"name":"Timestamp Format","displayName":"Timestamp Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Escape Character":{"name":"Escape Character","displayName":"Escape Character","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Date Format":{"name":"Date Format","displayName":"Date Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Null String":{"name":"Null String","displayName":"Null String","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Skip Header Line":{"name":"Skip Header Line","displayName":"Treat First Line as Header","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Trim Fields":{"name":"Trim Fields","displayName":"Trim Fields","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-name":{"name":"schema-name","displayName":"Schema Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-registry":{"name":"schema-registry","displayName":"Schema Registry","identifiesControllerService":true,"sensitive":false,"dynamic":false},"csv-reader-csv-parser":{"name":"csv-reader-csv-parser","displayName":"CSV Parser","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Time Format":{"name":"Time Format","displayName":"Time Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Comment Marker":{"name":"Comment Marker","displayName":"Comment Marker","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-access-strategy":{"name":"schema-access-strategy","displayName":"Schema Access Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-version":{"name":"schema-version","displayName":"Schema Version","identifiesControllerService":false,"sensitive":false,"dynamic":false},"csvutils-character-set":{"name":"csvutils-character-set","displayName":"Character Set","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-text":{"name":"schema-text","displayName":"Schema Text","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"controllerServiceApis":[{"type":"org.apache.nifi.serialization.RecordReaderFactory","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4"},{"identifier":"7fce889c-fc16-3f69-b7b4-44a90a81ae38","instanceIdentifier":"3238df43-ee04-3bec-aa9b-13efe7c0f72a","name":"StandardRestrictedSSLContextService","comments":"","type":"org.apache.nifi.ssl.StandardRestrictedSSLContextService","bundle":{"group":"org.apache.nifi","artifact":"nifi-ssl-context-service-nar","version":"2.2.0"},"properties":{"Truststore Type":"PKCS12","Truststore Password": "secret","SSL Protocol":"TLSv1.3","Keystore Type":"PKCS12","Keystore Password":"secret","Truststore Filename":"/stackable/keystore/truststore.p12","Keystore Filename":"/stackable/keystore/keystore.p12"},"propertyDescriptors":{"Truststore Type":{"name":"Truststore Type","displayName":"Truststore Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Protocol":{"name":"SSL Protocol","displayName":"TLS Protocol","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Keystore Type":{"name":"Keystore Type","displayName":"Keystore Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Truststore Filename":{"name":"Truststore Filename","displayName":"Truststore Filename","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["FILE"]}},"Keystore Password":{"name":"Keystore Password","displayName":"Keystore Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"key-password":{"name":"key-password","displayName":"Key Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Truststore Password":{"name":"Truststore Password","displayName":"Truststore Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Keystore Filename":{"name":"Keystore Filename","displayName":"Keystore Filename","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["FILE"]}}},"controllerServiceApis":[{"type":"org.apache.nifi.ssl.SSLContextService","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}},{"type":"org.apache.nifi.ssl.RestrictedSSLContextService","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}},{"type":"org.apache.nifi.ssl.SSLContextProvider","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4"},{"identifier":"f3254a5e-0024-31c3-b59a-9edff2a099c9","instanceIdentifier":"8dd599ec-3c90-3a34-8213-185a6d1bfb92","name":"JsonRecordSetWriter","type":"org.apache.nifi.json.JsonRecordSetWriter","bundle":{"group":"org.apache.nifi","artifact":"nifi-record-serialization-services-nar","version":"2.2.0"},"properties":{"schema-reference-reader":null,"schema-branch":null,"Allow Scientific Notation":"false","compression-level":"1","schema-cache":null,"Timestamp Format":null,"Date Format":null,"Pretty Print JSON":"false","compression-format":"none","Schema Write Strategy":"no-schema","suppress-nulls":"never-suppress","output-grouping":"output-array","schema-name":"${schema.name}","schema-registry":null,"Time Format":null,"schema-access-strategy":"inherit-record-schema","schema-version":null,"schema-text":"${avro.schema}","Schema Reference Writer":null},"propertyDescriptors":{"schema-reference-reader":{"name":"schema-reference-reader","displayName":"Schema Reference Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"schema-branch":{"name":"schema-branch","displayName":"Schema Branch","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Allow Scientific Notation":{"name":"Allow Scientific Notation","displayName":"Allow Scientific Notation","identifiesControllerService":false,"sensitive":false,"dynamic":false},"compression-level":{"name":"compression-level","displayName":"Compression Level","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-cache":{"name":"schema-cache","displayName":"Schema Cache","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Timestamp Format":{"name":"Timestamp Format","displayName":"Timestamp Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Date Format":{"name":"Date Format","displayName":"Date Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Pretty Print JSON":{"name":"Pretty Print JSON","displayName":"Pretty Print JSON","identifiesControllerService":false,"sensitive":false,"dynamic":false},"compression-format":{"name":"compression-format","displayName":"Compression Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Schema Write Strategy":{"name":"Schema Write Strategy","displayName":"Schema Write Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"suppress-nulls":{"name":"suppress-nulls","displayName":"Suppress Null Values","identifiesControllerService":false,"sensitive":false,"dynamic":false},"output-grouping":{"name":"output-grouping","displayName":"Output Grouping","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-name":{"name":"schema-name","displayName":"Schema Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-registry":{"name":"schema-registry","displayName":"Schema Registry","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Time Format":{"name":"Time Format","displayName":"Time Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-access-strategy":{"name":"schema-access-strategy","displayName":"Schema Access Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-version":{"name":"schema-version","displayName":"Schema Version","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-text":{"name":"schema-text","displayName":"Schema Text","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Schema Reference Writer":{"name":"Schema Reference Writer","displayName":"Schema Reference Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false}},"controllerServiceApis":[{"type":"org.apache.nifi.serialization.RecordSetWriterFactory","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4"},{"identifier":"5e81a80d-728d-3c87-800e-aa957618da55","instanceIdentifier":"a53045c6-0195-1000-ffff-ffffef6c13db","name":"CSVRecordSetWriter","comments":"","type":"org.apache.nifi.csv.CSVRecordSetWriter","bundle":{"group":"org.apache.nifi","artifact":"nifi-record-serialization-services-nar","version":"2.2.0"},"properties":{"schema-reference-reader":null,"schema-branch":null,"CSV Format":"custom","Include Header Line":"true","schema-cache":null,"Escape Character":"\\","Date Format":null,"Null String":null,"Trim Fields":"true","schema-registry":null,"Time Format":null,"Comment Marker":null,"schema-access-strategy":"inherit-record-schema","schema-version":null,"csvutils-character-set":"UTF-8","schema-text":"${avro.schema}","csv-writer":"commons-csv","Quote Character":"\"","Value Separator":",","Record Separator":"\\n","Timestamp Format":null,"Schema Write Strategy":"no-schema","schema-name":"${schema.name}","Quote Mode":"MINIMAL","Schema Reference Writer":null,"Include Trailing Delimiter":"false"},"propertyDescriptors":{"schema-reference-reader":{"name":"schema-reference-reader","displayName":"Schema Reference Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"schema-branch":{"name":"schema-branch","displayName":"Schema Branch","identifiesControllerService":false,"sensitive":false,"dynamic":false},"CSV Format":{"name":"CSV Format","displayName":"CSV Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Include Header Line":{"name":"Include Header Line","displayName":"Include Header Line","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-cache":{"name":"schema-cache","displayName":"Schema Cache","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Escape Character":{"name":"Escape Character","displayName":"Escape Character","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Date Format":{"name":"Date Format","displayName":"Date Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Null String":{"name":"Null String","displayName":"Null String","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Trim Fields":{"name":"Trim Fields","displayName":"Trim Fields","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-registry":{"name":"schema-registry","displayName":"Schema Registry","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Time Format":{"name":"Time Format","displayName":"Time Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Comment Marker":{"name":"Comment Marker","displayName":"Comment Marker","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-access-strategy":{"name":"schema-access-strategy","displayName":"Schema Access Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-version":{"name":"schema-version","displayName":"Schema Version","identifiesControllerService":false,"sensitive":false,"dynamic":false},"csvutils-character-set":{"name":"csvutils-character-set","displayName":"Character Set","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-text":{"name":"schema-text","displayName":"Schema Text","identifiesControllerService":false,"sensitive":false,"dynamic":false},"csv-writer":{"name":"csv-writer","displayName":"CSV Writer","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Quote Character":{"name":"Quote Character","displayName":"Quote Character","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Value Separator":{"name":"Value Separator","displayName":"Value Separator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Separator":{"name":"Record Separator","displayName":"Record Separator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Timestamp Format":{"name":"Timestamp Format","displayName":"Timestamp Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Schema Write Strategy":{"name":"Schema Write Strategy","displayName":"Schema Write Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-name":{"name":"schema-name","displayName":"Schema Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Quote Mode":{"name":"Quote Mode","displayName":"Quote Mode","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Schema Reference Writer":{"name":"Schema Reference Writer","displayName":"Schema Reference Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Include Trailing Delimiter":{"name":"Include Trailing Delimiter","displayName":"Include Trailing Delimiter","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"controllerServiceApis":[{"type":"org.apache.nifi.serialization.RecordSetWriterFactory","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"a1618dd5-e11a-3ff4-9a6c-62607956b4f4"}],"defaultFlowFileExpiration":"0 sec","defaultBackPressureObjectThreshold":10000,"defaultBackPressureDataSizeThreshold":"1 GB","scheduledState":"ENABLED","executionEngine":"INHERITED","maxConcurrentTasks":1,"statelessFlowTimeout":"1 min","flowFileConcurrency":"UNBOUNDED","flowFileOutboundPolicy":"STREAM_WHEN_AVAILABLE","componentType":"PROCESS_GROUP"},"externalControllerServices":{},"parameterContexts":{},"flowEncodingVersion":"1.0","parameterProviders":{},"latest":false}
diff --git a/demos/nifi-kafka-druid-earthquake-data/IngestEarthquakesToKafka.xml b/demos/nifi-kafka-druid-earthquake-data/IngestEarthquakesToKafka.xml
deleted file mode 100644
index 6e130ef9..00000000
--- a/demos/nifi-kafka-druid-earthquake-data/IngestEarthquakesToKafka.xml
+++ /dev/null
@@ -1,1457 +0,0 @@
-
-
-
- 4bf8170a-0187-1000-364f-5535ad084fa6
- IngestEarthquakesToKafka
-
-
- ab8cde2e-a977-3a7d-0000-000000000000
- 3ca4da3a-448b-3a0b-0000-000000000000
- 1 GB
- 10000
-
- 3ca4da3a-448b-3a0b-0000-000000000000
- 87416abc-d20d-301d-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- 3ca4da3a-448b-3a0b-0000-000000000000
- bfaad856-531a-3c6d-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 3a3cb8f1-9241-3088-0000-000000000000
- 3ca4da3a-448b-3a0b-0000-000000000000
- WARN
-
- nifi-record-serialization-services-nar
- org.apache.nifi
- 1.18.0
-
-
-
- schema-access-strategy
-
- schema-access-strategy
-
-
-
- schema-registry
-
-
- confluent-encoded
- schema-name
- hwx-schema-ref-attributes
- hwx-content-encoded-schema
- schema-access-strategy
-
- org.apache.nifi.schemaregistry.services.SchemaRegistry
- schema-registry
-
-
-
- schema-name
-
-
- schema-name
- schema-access-strategy
-
- schema-name
-
-
-
- schema-version
-
-
- schema-name
- schema-access-strategy
-
- schema-version
-
-
-
- schema-branch
-
-
- schema-name
- schema-access-strategy
-
- schema-branch
-
-
-
- schema-text
-
-
- schema-text-property
- schema-access-strategy
-
- schema-text
-
-
-
- csv-reader-csv-parser
-
- csv-reader-csv-parser
-
-
-
- Date Format
-
- Date Format
-
-
-
- Time Format
-
- Time Format
-
-
-
- Timestamp Format
-
- Timestamp Format
-
-
-
- CSV Format
-
- CSV Format
-
-
-
- Value Separator
-
-
- custom
- CSV Format
-
- Value Separator
-
-
-
- Record Separator
-
-
- custom
- CSV Format
-
- Record Separator
-
-
-
- Skip Header Line
-
- Skip Header Line
-
-
-
- ignore-csv-header
-
- ignore-csv-header
-
-
-
- Quote Character
-
-
- custom
- CSV Format
-
- Quote Character
-
-
-
- Escape Character
-
-
- custom
- CSV Format
-
- Escape Character
-
-
-
- Comment Marker
-
-
- custom
- CSV Format
-
- Comment Marker
-
-
-
- Null String
-
-
- custom
- CSV Format
-
- Null String
-
-
-
- Trim Fields
-
-
- custom
- CSV Format
-
- Trim Fields
-
-
-
- csvutils-character-set
-
- csvutils-character-set
-
-
-
- csvutils-allow-duplicate-header-names
-
-
- custom
- CSV Format
-
- csvutils-allow-duplicate-header-names
-
-
-
- Trim double quote
-
-
- rfc-4180
- CSV Format
-
- Trim double quote
-
-
-
- CSVReader
- false
-
-
- schema-access-strategy
- infer-schema
-
-
- schema-registry
-
-
- schema-name
- ${schema.name}
-
-
- schema-version
-
-
- schema-branch
-
-
- schema-text
- ${avro.schema}
-
-
- csv-reader-csv-parser
- commons-csv
-
-
- Date Format
-
-
- Time Format
-
-
- Timestamp Format
-
-
- CSV Format
- custom
-
-
- Value Separator
- ,
-
-
- Record Separator
- \n
-
-
- Skip Header Line
- false
-
-
- ignore-csv-header
- false
-
-
- Quote Character
- "
-
-
- Escape Character
- \
-
-
- Comment Marker
-
-
- Null String
-
-
- Trim Fields
- true
-
-
- csvutils-character-set
- UTF-8
-
-
- csvutils-allow-duplicate-header-names
- true
-
-
- Trim double quote
- true
-
-
- ENABLED
- org.apache.nifi.csv.CSVReader
-
-
- 5fca3dc1-9dd3-327e-0000-000000000000
- 3ca4da3a-448b-3a0b-0000-000000000000
- WARN
-
- nifi-record-serialization-services-nar
- org.apache.nifi
- 1.18.0
-
-
-
- Schema Write Strategy
-
- Schema Write Strategy
-
-
-
- schema-cache
-
- org.apache.nifi.serialization.RecordSchemaCacheService
- schema-cache
-
-
-
- schema-protocol-version
-
-
- hwx-schema-ref-attributes
- hwx-content-encoded-schema
- Schema Write Strategy
-
- schema-protocol-version
-
-
-
- schema-access-strategy
-
- schema-access-strategy
-
-
-
- schema-registry
-
-
- confluent-encoded
- schema-name
- hwx-schema-ref-attributes
- hwx-content-encoded-schema
- schema-access-strategy
-
- org.apache.nifi.schemaregistry.services.SchemaRegistry
- schema-registry
-
-
-
- schema-name
-
-
- schema-name
- schema-access-strategy
-
- schema-name
-
-
-
- schema-version
-
-
- schema-name
- schema-access-strategy
-
- schema-version
-
-
-
- schema-branch
-
-
- schema-name
- schema-access-strategy
-
- schema-branch
-
-
-
- schema-text
-
-
- schema-text-property
- schema-access-strategy
-
- schema-text
-
-
-
- Date Format
-
- Date Format
-
-
-
- Time Format
-
- Time Format
-
-
-
- Timestamp Format
-
- Timestamp Format
-
-
-
- Pretty Print JSON
-
- Pretty Print JSON
-
-
-
- suppress-nulls
-
- suppress-nulls
-
-
-
- output-grouping
-
- output-grouping
-
-
-
- compression-format
-
- compression-format
-
-
-
- compression-level
-
-
- gzip
- compression-format
-
- compression-level
-
-
-
- JsonRecordSetWriter
- false
-
-
- Schema Write Strategy
- no-schema
-
-
- schema-cache
-
-
- schema-protocol-version
- 1
-
-
- schema-access-strategy
- inherit-record-schema
-
-
- schema-registry
-
-
- schema-name
- ${schema.name}
-
-
- schema-version
-
-
- schema-branch
-
-
- schema-text
- ${avro.schema}
-
-
- Date Format
-
-
- Time Format
-
-
- Timestamp Format
-
-
- Pretty Print JSON
- false
-
-
- suppress-nulls
- never-suppress
-
-
- output-grouping
- output-array
-
-
- compression-format
- none
-
-
- compression-level
- 1
-
-
- ENABLED
- org.apache.nifi.json.JsonRecordSetWriter
-
-
- 74abcf93-21ff-3052-0000-000000000000
- 3ca4da3a-448b-3a0b-0000-000000000000
- WARN
-
- nifi-ssl-context-service-nar
- org.apache.nifi
- 1.18.0
-
-
-
-
- Keystore Filename
-
- Keystore Filename
-
-
-
- Keystore Password
-
- Keystore Password
-
-
-
- key-password
-
- key-password
-
-
-
- Keystore Type
-
- Keystore Type
-
-
-
- Truststore Filename
-
- Truststore Filename
-
-
-
- Truststore Password
-
- Truststore Password
-
-
-
- Truststore Type
-
- Truststore Type
-
-
-
- SSL Protocol
-
- SSL Protocol
-
-
-
- StandardRestrictedSSLContextService
- false
-
-
- Keystore Filename
- /stackable/keystore/keystore.p12
-
-
- Keystore Password
- secret
-
-
- key-password
-
-
- Keystore Type
- PKCS12
-
-
- Truststore Filename
- /stackable/keystore/truststore.p12
-
-
- Truststore Password
- secret
-
-
- Truststore Type
- PKCS12
-
-
- SSL Protocol
- TLSv1.3
-
-
- ENABLED
- org.apache.nifi.ssl.StandardRestrictedSSLContextService
-
-
- 87416abc-d20d-301d-0000-000000000000
- 3ca4da3a-448b-3a0b-0000-000000000000
-
- 0.0
- 272.0
-
-
- nifi-kafka-2-6-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- bootstrap.servers
-
- bootstrap.servers
-
-
-
- topic
-
- topic
-
-
-
- record-reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- record-reader
-
-
-
- record-writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- record-writer
-
-
-
- use-transactions
-
- use-transactions
-
-
-
- transactional-id-prefix
-
-
-true
-use-transactions
-
- transactional-id-prefix
-
-
-
- Failure Strategy
-
- Failure Strategy
-
-
-
- acks
-
- acks
-
-
-
- attribute-name-regex
-
- attribute-name-regex
-
-
-
- message-header-encoding
-
- message-header-encoding
-
-
-
- security.protocol
-
- security.protocol
-
-
-
- sasl.mechanism
-
- sasl.mechanism
-
-
-
- kerberos-credentials-service
-
- org.apache.nifi.kerberos.KerberosCredentialsService
- kerberos-credentials-service
-
-
-
- kerberos-user-service
-
- org.apache.nifi.kerberos.SelfContainedKerberosUserService
- kerberos-user-service
-
-
-
- sasl.kerberos.service.name
-
- sasl.kerberos.service.name
-
-
-
- sasl.kerberos.principal
-
- sasl.kerberos.principal
-
-
-
- sasl.kerberos.keytab
-
- sasl.kerberos.keytab
-
-
-
- sasl.username
-
- sasl.username
-
-
-
- sasl.password
-
- sasl.password
-
-
-
- sasl.token.auth
-
- sasl.token.auth
-
-
-
- ssl.context.service
-
- org.apache.nifi.ssl.SSLContextService
- ssl.context.service
-
-
-
- message-key-field
-
- message-key-field
-
-
-
- max.request.size
-
- max.request.size
-
-
-
- ack.wait.time
-
- ack.wait.time
-
-
-
- max.block.ms
-
- max.block.ms
-
-
-
- partitioner.class
-
- partitioner.class
-
-
-
- partition
-
- partition
-
-
-
- compression.type
-
- compression.type
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- bootstrap.servers
- kafka-broker-default.default.svc.cluster.local:9093
-
-
- topic
- earthquakes
-
-
- record-reader
- 3a3cb8f1-9241-3088-0000-000000000000
-
-
- record-writer
- 5fca3dc1-9dd3-327e-0000-000000000000
-
-
- use-transactions
- false
-
-
- transactional-id-prefix
-
-
- Failure Strategy
- Route to Failure
-
-
- acks
- all
-
-
- attribute-name-regex
-
-
- message-header-encoding
- UTF-8
-
-
- security.protocol
- SSL
-
-
- sasl.mechanism
- GSSAPI
-
-
- kerberos-credentials-service
-
-
- kerberos-user-service
-
-
- sasl.kerberos.service.name
-
-
- sasl.kerberos.principal
-
-
- sasl.kerberos.keytab
-
-
- sasl.username
-
-
- sasl.password
-
-
- sasl.token.auth
- false
-
-
- ssl.context.service
- 74abcf93-21ff-3052-0000-000000000000
-
-
- message-key-field
-
-
- max.request.size
- 1 MB
-
-
- ack.wait.time
- 5 secs
-
-
- max.block.ms
- 5 sec
-
-
- partitioner.class
- org.apache.kafka.clients.producer.internals.DefaultPartitioner
-
-
- partition
-
-
- compression.type
- none
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- PublishKafkaRecord_2_6
-
- true
- failure
- false
-
-
- true
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_6
-
-
- bfaad856-531a-3c6d-0000-000000000000
- 3ca4da3a-448b-3a0b-0000-000000000000
-
- 0.0
- 0.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- PRIMARY
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://repo.stackable.tech/repository/misc/earthquake-data/earthquakes_1950_to_2022.csv
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- true
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 365000 days
- TIMER_DRIVEN
- 1 sec
-
- false
- InvokeHTTP
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 04/04/2023 11:17:46 UTC
-
diff --git a/demos/nifi-kafka-druid-earthquake-data/create-nifi-ingestion-job.yaml b/demos/nifi-kafka-druid-earthquake-data/create-nifi-ingestion-job.yaml
index efddab0c..82005839 100644
--- a/demos/nifi-kafka-druid-earthquake-data/create-nifi-ingestion-job.yaml
+++ b/demos/nifi-kafka-druid-earthquake-data/create-nifi-ingestion-job.yaml
@@ -28,9 +28,7 @@ spec:
- -euo
- pipefail
- -c
- - |
- curl -O https://raw.githubusercontent.com/stackabletech/demos/main/demos/nifi-kafka-druid-earthquake-data/IngestEarthquakesToKafka.xml
- python -u /tmp/script/script.py
+ - python -u /tmp/script/script.py
volumeMounts:
- name: script
mountPath: /tmp/script
@@ -59,7 +57,6 @@ data:
script.py: |
from nipyapi.canvas import get_root_pg_id, schedule_process_group, list_all_controllers, schedule_controller
from nipyapi.security import service_login
- from nipyapi.templates import get_template, upload_template, deploy_template
import nipyapi
import os
import urllib3
@@ -68,26 +65,94 @@ data:
ENDPOINT = f"https://nifi-node-default-0.nifi-node-default.{os.environ['NAMESPACE']}.svc.cluster.local:8443" # For local testing / developing replace it, afterwards change back to f"https://nifi-node-default-0.nifi-node-default.{os.environ['NAMESPACE']}.svc.cluster.local:8443"
USERNAME = "admin"
PASSWORD = open("/nifi-admin-credentials-secret/admin").read()
- TEMPLATE_NAME = "IngestEarthquakesToKafka"
- TEMPLATE_FILE = f"{TEMPLATE_NAME}.xml"
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
nipyapi.config.nifi_config.host = f"{ENDPOINT}/nifi-api"
nipyapi.config.nifi_config.verify_ssl = False
- print("Logging in")
+ print(f"Logging in as {USERNAME}")
service_login(username=USERNAME, password=PASSWORD)
print("Logged in")
- pg_id = get_root_pg_id()
+ organization = "stackabletech"
+ repository = "demos"
+ branch = "main"
+ version = "main"
+ directory = "demos/nifi-kafka-druid-earthquake-data"
+ flow_name = "IngestEarthquakesToKafka"
+
+ # Check if the GitHub flow registry client already exists
+ flow_registry_clients = nipyapi.nifi.ControllerApi().get_flow_registry_clients().registries
- upload_template(pg_id, TEMPLATE_FILE)
+ github_client = None
+ for client in flow_registry_clients:
+ if client.component.name == "GitHubFlowRegistryClient":
+ github_client = client
+ print("Found existing GitHub flow registry client")
+ break
+
+ if not github_client:
+ print("Creating new GitHub flow registry client")
+ github_client = nipyapi.nifi.ControllerApi().create_flow_registry_client(
+ body={
+ "revision": {"version": 0},
+ "component": {
+ "name": "GitHubFlowRegistryClient",
+ "type": "org.apache.nifi.github.GitHubFlowRegistryClient",
+ "properties": {
+ "Repository Owner": organization,
+ "Repository Name": repository,
+ },
+ "bundle": {
+ "group": "org.apache.nifi",
+ "artifact": "nifi-github-nar",
+ "version": "2.2.0",
+ },
+ },
+ }
+ )
+
+ pg_id = get_root_pg_id()
- template_id = get_template(TEMPLATE_NAME).id
- deploy_template(pg_id, template_id, 200, 0)
+ try:
+ # Create process group from the file in the Git repo
+ nipyapi.nifi.ProcessGroupsApi().create_process_group(
+ id=pg_id,
+ body={
+ "revision": {"version": 0},
+ "component": {
+ "position": {"x": 300, "y": 10},
+ "versionControlInformation": {
+ "registryId": github_client.component.id,
+ "flowId": flow_name,
+ "bucketId": directory,
+ "branch": branch,
+ "version": version,
+ },
+ },
+ },
+ )
+ except ValueError as e:
+ # Ignore, because nipyapi can't handle non-int versions yet
+ if "invalid literal for int() with base 10" in str(e):
+ print("Ignoring ValueError")
+ else:
+ raise e
- for controller in list_all_controllers():
- schedule_controller(controller, scheduled=True)
+ # Scheduling the `Kafka3ConnectionService` fails, if it is started before `StandardRestrictedSSLContextService`, since it depends on it
+ # To work around this, we try to schedule the controllers multiple times
+ # If `Kafka3ConnectionService` is started before `StandardRestrictedSSLContextService`, scheduling it will fail in the first iteration
+ # But it should succeed in the second attempt, since by then `StandardRestrictedSSLContextService` is started
+ max_retries = 2
+ for _ in range(max_retries):
+ controllers = list_all_controllers(pg_id)
+ for controller in controllers:
+ if controller.component.state != "ENABLED":
+ try:
+ schedule_controller(controller, scheduled=True)
+ print(f"Scheduled controller: {controller.component.name}")
+ except Exception as e:
+ print(f"Failed to schedule controller {controller.component.name}: {e}")
schedule_process_group(pg_id, scheduled=True)
diff --git a/demos/nifi-kafka-druid-water-level-data/IngestWaterLevelsToKafka.json b/demos/nifi-kafka-druid-water-level-data/IngestWaterLevelsToKafka.json
new file mode 100644
index 00000000..d2705ddb
--- /dev/null
+++ b/demos/nifi-kafka-druid-water-level-data/IngestWaterLevelsToKafka.json
@@ -0,0 +1 @@
+{"flowContents":{"identifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418","instanceIdentifier":"81598f35-0195-1000-0000-000073723729","name":"IngestWaterLevelsToKafka_raw","comments":"","position":{"x":-472.0,"y":-496.0},"processGroups":[],"remoteProcessGroups":[],"processors":[{"identifier":"e85c2e60-192e-3ed8-ab64-750311e0ed45","instanceIdentifier":"46c0209c-7abe-3a8e-bbc0-39f9333f14b1","name":"Get station list","comments":"","position":{"x":485.99999797539556,"y":246.99999837990495},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"365000 days","schedulingStrategy":"TIMER_DRIVEN","executionNode":"PRIMARY","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"50bc20ed-2b1b-3068-0000-0000423c0a67","instanceIdentifier":"3c9c0c1f-db51-39f1-bcea-5aa511e75799","name":"Add station_uuid","comments":"","position":{"x":1240.0,"y":1192.0},"type":"org.apache.nifi.processors.jolt.JoltTransformJSON","bundle":{"group":"org.apache.nifi","artifact":"nifi-jolt-nar","version":"2.2.0"},"properties":{"Jolt Transform":"jolt-transform-chain","Max String Length":"20 MB","Transform Cache Size":"1","Custom Transformation Class Name":null,"Custom Module Directory":null,"Pretty Print":"false","Jolt Specification":"[\n {\n \"operation\": \"default\",\n \"spec\": {\n \"*\": {\n \"station_uuid\": \"${station_uuid}\"\n }\n }\n }\n]\n"},"propertyDescriptors":{"Jolt Transform":{"name":"Jolt Transform","displayName":"Jolt Transform","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transform Cache Size":{"name":"Transform Cache Size","displayName":"Transform Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Transformation Class Name":{"name":"Custom Transformation Class Name","displayName":"Custom Transformation Class Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Module Directory":{"name":"Custom Module Directory","displayName":"Custom Module Directory","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"MULTIPLE","resourceTypes":["DIRECTORY","FILE"]}},"Pretty Print":{"name":"Pretty Print","displayName":"Pretty Print","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Jolt Specification":{"name":"Jolt Specification","displayName":"Jolt Specification","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["TEXT","FILE"]}}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"8809ece7-fbe0-3613-b7b0-77e05c8f4cb1","instanceIdentifier":"1425717b-a077-39b0-872e-7381d0b3848f","name":"Extract station_uuid","comments":"","position":{"x":861.9999979753956,"y":726.9999983799049},"type":"org.apache.nifi.processors.standard.EvaluateJsonPath","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Destination":"flowfile-attribute","Max String Length":"20 MB","Return Type":"auto-detect","Null Value Representation":"empty string","station_uuid":"$.uuid","Path Not Found Behavior":"ignore"},"propertyDescriptors":{"Destination":{"name":"Destination","displayName":"Destination","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Return Type":{"name":"Return Type","displayName":"Return Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Null Value Representation":{"name":"Null Value Representation","displayName":"Null Value Representation","identifiesControllerService":false,"sensitive":false,"dynamic":false},"station_uuid":{"name":"station_uuid","displayName":"station_uuid","identifiesControllerService":false,"sensitive":false,"dynamic":true},"Path Not Found Behavior":{"name":"Path Not Found Behavior","displayName":"Path Not Found Behavior","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["failure","unmatched"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"656d02d2-3100-39e6-a3dd-a8fe91b6dd06","instanceIdentifier":"cec0a8ff-73d7-35d1-9f9c-0c5cc0af6db2","name":"SplitRecord","comments":"","position":{"x":1237.9999979753957,"y":510.9999983799049},"type":"org.apache.nifi.processors.standard.SplitRecord","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Record Writer":"f6b7ad0f-da95-39c4-be8d-4ae944d8034b","Record Reader":"e75c34eb-8e60-3b6b-8a29-3dd7b79776c4","Records Per Split":"1"},"propertyDescriptors":{"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Records Per Split":{"name":"Records Per Split","displayName":"Records Per Split","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["original","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"e2bdb78b-009b-3086-ad39-816874d3be80","instanceIdentifier":"72294ac8-46e9-33fb-8923-8e6cb4c69269","name":"Get station list","comments":"","position":{"x":861.9999979753956,"y":246.99999837990495},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"365000 days","schedulingStrategy":"TIMER_DRIVEN","executionNode":"PRIMARY","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"dde01269-6b44-3f4c-9406-8e291cd8aaa4","instanceIdentifier":"816243be-0195-1000-ffff-fffff00620a1","name":"Add station_uuid","comments":"","position":{"x":864.0,"y":1192.0},"type":"org.apache.nifi.processors.jolt.JoltTransformJSON","bundle":{"group":"org.apache.nifi","artifact":"nifi-jolt-nar","version":"2.2.0"},"properties":{"Jolt Transform":"jolt-transform-chain","Max String Length":"20 MB","Transform Cache Size":"1","Custom Transformation Class Name":null,"Custom Module Directory":null,"Pretty Print":"false","Jolt Specification":"[\n {\n \"operation\": \"default\",\n \"spec\": {\n \"*\": {\n \"station_uuid\": \"${station_uuid}\"\n }\n }\n }\n]\n"},"propertyDescriptors":{"Jolt Transform":{"name":"Jolt Transform","displayName":"Jolt Transform","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transform Cache Size":{"name":"Transform Cache Size","displayName":"Transform Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Transformation Class Name":{"name":"Custom Transformation Class Name","displayName":"Custom Transformation Class Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Custom Module Directory":{"name":"Custom Module Directory","displayName":"Custom Module Directory","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"MULTIPLE","resourceTypes":["DIRECTORY","FILE"]}},"Pretty Print":{"name":"Pretty Print","displayName":"Pretty Print","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Jolt Specification":{"name":"Jolt Specification","displayName":"Jolt Specification","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["TEXT","FILE"]}}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"98a12d17-c277-3226-af8b-03848dbdbf11","instanceIdentifier":"816125f7-0195-1000-0000-00006b8c4170","name":"PublishKafka","comments":"","position":{"x":1240.0,"y":1408.0},"type":"org.apache.nifi.kafka.processors.PublishKafka","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-nar","version":"2.2.0"},"properties":{"compression.type":"snappy","acks":"all","Message Demarcator":null,"Kafka Key Attribute Encoding":"utf-8","Record Reader":"e75c34eb-8e60-3b6b-8a29-3dd7b79776c4","Record Metadata Strategy":"FROM_PROPERTIES","Transactional ID Prefix":null,"Header Encoding":"UTF-8","max.request.size":"1 MB","Topic Name":"measurements","Kafka Key":null,"partition":null,"Kafka Connection Service":"29032623-5723-3b5d-8983-07534da27fd5","Publish Strategy":"USE_VALUE","Record Key Writer":null,"Failure Strategy":"Route to Failure","partitioner.class":"org.apache.kafka.clients.producer.internals.DefaultPartitioner","Record Writer":"f6b7ad0f-da95-39c4-be8d-4ae944d8034b","Transactions Enabled":"false","Message Key Field":null,"FlowFile Attribute Header Pattern":null},"propertyDescriptors":{"compression.type":{"name":"compression.type","displayName":"Compression Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"acks":{"name":"acks","displayName":"Delivery Guarantee","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Demarcator":{"name":"Message Demarcator","displayName":"Message Demarcator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key Attribute Encoding":{"name":"Kafka Key Attribute Encoding","displayName":"Kafka Key Attribute Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Metadata Strategy":{"name":"Record Metadata Strategy","displayName":"Record Metadata Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transactional ID Prefix":{"name":"Transactional ID Prefix","displayName":"Transactional ID Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Header Encoding":{"name":"Header Encoding","displayName":"Header Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.request.size":{"name":"max.request.size","displayName":"Max Request Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Topic Name":{"name":"Topic Name","displayName":"Topic Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key":{"name":"Kafka Key","displayName":"Kafka Key","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partition":{"name":"partition","displayName":"Partition","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Connection Service":{"name":"Kafka Connection Service","displayName":"Kafka Connection Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Publish Strategy":{"name":"Publish Strategy","displayName":"Publish Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Key Writer":{"name":"Record Key Writer","displayName":"Record Key Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Failure Strategy":{"name":"Failure Strategy","displayName":"Failure Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partitioner.class":{"name":"partitioner.class","displayName":"Partitioner Class","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Transactions Enabled":{"name":"Transactions Enabled","displayName":"Transactions Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Key Field":{"name":"Message Key Field","displayName":"Message Key Field","identifiesControllerService":false,"sensitive":false,"dynamic":false},"FlowFile Attribute Header Pattern":{"name":"FlowFile Attribute Header Pattern","displayName":"FlowFile Attribute Header Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["success","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"ccf5a9db-6d16-3aa5-b054-b33a51405240","instanceIdentifier":"6304de41-531f-37e9-b1a9-db89a7181c46","name":"Extract station_uuid","comments":"","position":{"x":1237.9999979753957,"y":726.9999983799049},"type":"org.apache.nifi.processors.standard.EvaluateJsonPath","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Destination":"flowfile-attribute","Max String Length":"20 MB","Return Type":"auto-detect","Null Value Representation":"empty string","station_uuid":"$.uuid","Path Not Found Behavior":"ignore"},"propertyDescriptors":{"Destination":{"name":"Destination","displayName":"Destination","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Return Type":{"name":"Return Type","displayName":"Return Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Null Value Representation":{"name":"Null Value Representation","displayName":"Null Value Representation","identifiesControllerService":false,"sensitive":false,"dynamic":false},"station_uuid":{"name":"station_uuid","displayName":"station_uuid","identifiesControllerService":false,"sensitive":false,"dynamic":true},"Path Not Found Behavior":{"name":"Path Not Found Behavior","displayName":"Path Not Found Behavior","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["failure","unmatched"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"d56a1c61-9006-315a-a15c-41439f14d030","instanceIdentifier":"d78cc57f-9bd1-35a2-9957-a70d52d0fb69","name":"SplitRecord","comments":"","position":{"x":861.9999979753956,"y":510.9999983799049},"type":"org.apache.nifi.processors.standard.SplitRecord","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Record Writer":"f6b7ad0f-da95-39c4-be8d-4ae944d8034b","Record Reader":"e75c34eb-8e60-3b6b-8a29-3dd7b79776c4","Records Per Split":"1"},"propertyDescriptors":{"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Records Per Split":{"name":"Records Per Split","displayName":"Records Per Split","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["original","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"a961da8c-d228-3d19-b6ed-2d48ebe35b05","instanceIdentifier":"15a87495-c9dc-36db-a3f0-828a63a688f9","name":"Get 30 days historic data","comments":"","position":{"x":861.9999979753956,"y":966.9999983799049},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/${station_uuid}/W/measurements.json?start=P30D","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"26542ec9-e3e3-380f-ab7a-7fa4b2c46d1e","instanceIdentifier":"815f05d7-0195-1000-0000-000005d97f79","name":"PublishKafka","comments":"","position":{"x":864.0,"y":1408.0},"type":"org.apache.nifi.kafka.processors.PublishKafka","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-nar","version":"2.2.0"},"properties":{"compression.type":"snappy","acks":"all","Message Demarcator":null,"Kafka Key Attribute Encoding":"utf-8","Record Reader":"e75c34eb-8e60-3b6b-8a29-3dd7b79776c4","Record Metadata Strategy":"FROM_PROPERTIES","Transactional ID Prefix":null,"Header Encoding":"UTF-8","max.request.size":"1 MB","Topic Name":"measurements","Kafka Key":null,"partition":null,"Kafka Connection Service":"29032623-5723-3b5d-8983-07534da27fd5","Publish Strategy":"USE_VALUE","Record Key Writer":null,"Failure Strategy":"Route to Failure","partitioner.class":"org.apache.kafka.clients.producer.internals.DefaultPartitioner","Record Writer":"f6b7ad0f-da95-39c4-be8d-4ae944d8034b","Transactions Enabled":"false","Message Key Field":null,"FlowFile Attribute Header Pattern":null},"propertyDescriptors":{"compression.type":{"name":"compression.type","displayName":"Compression Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"acks":{"name":"acks","displayName":"Delivery Guarantee","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Demarcator":{"name":"Message Demarcator","displayName":"Message Demarcator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key Attribute Encoding":{"name":"Kafka Key Attribute Encoding","displayName":"Kafka Key Attribute Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Metadata Strategy":{"name":"Record Metadata Strategy","displayName":"Record Metadata Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transactional ID Prefix":{"name":"Transactional ID Prefix","displayName":"Transactional ID Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Header Encoding":{"name":"Header Encoding","displayName":"Header Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.request.size":{"name":"max.request.size","displayName":"Max Request Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Topic Name":{"name":"Topic Name","displayName":"Topic Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key":{"name":"Kafka Key","displayName":"Kafka Key","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partition":{"name":"partition","displayName":"Partition","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Connection Service":{"name":"Kafka Connection Service","displayName":"Kafka Connection Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Publish Strategy":{"name":"Publish Strategy","displayName":"Publish Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Key Writer":{"name":"Record Key Writer","displayName":"Record Key Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Failure Strategy":{"name":"Failure Strategy","displayName":"Failure Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partitioner.class":{"name":"partitioner.class","displayName":"Partitioner Class","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Transactions Enabled":{"name":"Transactions Enabled","displayName":"Transactions Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Key Field":{"name":"Message Key Field","displayName":"Message Key Field","identifiesControllerService":false,"sensitive":false,"dynamic":false},"FlowFile Attribute Header Pattern":{"name":"FlowFile Attribute Header Pattern","displayName":"FlowFile Attribute Header Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["success","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"4db42754-1203-340d-830d-d662d16d13c8","instanceIdentifier":"d8795306-ee83-3143-b633-fd70c932add5","name":"Get station list","comments":"","position":{"x":1237.9999979753957,"y":246.99999837990495},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"15 m","schedulingStrategy":"TIMER_DRIVEN","executionNode":"PRIMARY","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"d2841e3c-954c-3f6c-8c2b-0b4f20cea21c","instanceIdentifier":"a11d09f2-9d6d-390d-947c-397b881e980f","name":"Get 30 minutes of historic data","comments":"","position":{"x":1237.9999979753957,"y":966.9999983799049},"type":"org.apache.nifi.processors.standard.InvokeHTTP","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-nar","version":"2.2.0"},"properties":{"Request Content-Encoding":"DISABLED","proxy-configuration-service":null,"Request Multipart Form-Data Filename Enabled":"true","Request Chunked Transfer-Encoding Enabled":"false","Response Header Request Attributes Prefix":null,"HTTP/2 Disabled":"False","Connection Timeout":"5 secs","Response Cookie Strategy":"DISABLED","Socket Read Timeout":"15 secs","Socket Idle Connections":"5","Request Body Enabled":"true","HTTP URL":"https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/${station_uuid}/W/measurements.json?start=PT30M","Request OAuth2 Access Token Provider":null,"Socket Idle Timeout":"5 mins","Response Redirects Enabled":"True","Socket Write Timeout":"15 secs","Request Header Attributes Pattern":null,"Response FlowFile Naming Strategy":"RANDOM","Response Cache Enabled":"false","Request Date Header Enabled":"True","Request Failure Penalization Enabled":"false","Response Body Attribute Size":"256","SSL Context Service":null,"Response Generation Required":"false","Request User-Agent":null,"Response Header Request Attributes Enabled":"false","HTTP Method":"GET","Request Username":null,"Request Content-Type":"${mime.type}","Response Body Attribute Name":null,"Request Digest Authentication Enabled":"false","Request Multipart Form-Data Name":null,"Response Cache Size":"10MB","Response Body Ignored":"false"},"propertyDescriptors":{"Request Content-Encoding":{"name":"Request Content-Encoding","displayName":"Request Content-Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"proxy-configuration-service":{"name":"proxy-configuration-service","displayName":"Proxy Configuration Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Filename Enabled":{"name":"Request Multipart Form-Data Filename Enabled","displayName":"Request Multipart Form-Data Filename Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Chunked Transfer-Encoding Enabled":{"name":"Request Chunked Transfer-Encoding Enabled","displayName":"Request Chunked Transfer-Encoding Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Prefix":{"name":"Response Header Request Attributes Prefix","displayName":"Response Header Request Attributes Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP/2 Disabled":{"name":"HTTP/2 Disabled","displayName":"HTTP/2 Disabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Connection Timeout":{"name":"Connection Timeout","displayName":"Connection Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cookie Strategy":{"name":"Response Cookie Strategy","displayName":"Response Cookie Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Password":{"name":"Request Password","displayName":"Request Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Socket Read Timeout":{"name":"Socket Read Timeout","displayName":"Socket Read Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Idle Connections":{"name":"Socket Idle Connections","displayName":"Socket Idle Connections","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Body Enabled":{"name":"Request Body Enabled","displayName":"Request Body Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP URL":{"name":"HTTP URL","displayName":"HTTP URL","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request OAuth2 Access Token Provider":{"name":"Request OAuth2 Access Token Provider","displayName":"Request OAuth2 Access Token Provider","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Socket Idle Timeout":{"name":"Socket Idle Timeout","displayName":"Socket Idle Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Redirects Enabled":{"name":"Response Redirects Enabled","displayName":"Response Redirects Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Socket Write Timeout":{"name":"Socket Write Timeout","displayName":"Socket Write Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Header Attributes Pattern":{"name":"Request Header Attributes Pattern","displayName":"Request Header Attributes Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response FlowFile Naming Strategy":{"name":"Response FlowFile Naming Strategy","displayName":"Response FlowFile Naming Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Enabled":{"name":"Response Cache Enabled","displayName":"Response Cache Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Date Header Enabled":{"name":"Request Date Header Enabled","displayName":"Request Date Header Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Failure Penalization Enabled":{"name":"Request Failure Penalization Enabled","displayName":"Request Failure Penalization Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Size":{"name":"Response Body Attribute Size","displayName":"Response Body Attribute Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Response Generation Required":{"name":"Response Generation Required","displayName":"Response Generation Required","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request User-Agent":{"name":"Request User-Agent","displayName":"Request User-Agent","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Header Request Attributes Enabled":{"name":"Response Header Request Attributes Enabled","displayName":"Response Header Request Attributes Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"HTTP Method":{"name":"HTTP Method","displayName":"HTTP Method","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Username":{"name":"Request Username","displayName":"Request Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Content-Type":{"name":"Request Content-Type","displayName":"Request Content-Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Attribute Name":{"name":"Response Body Attribute Name","displayName":"Response Body Attribute Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Digest Authentication Enabled":{"name":"Request Digest Authentication Enabled","displayName":"Request Digest Authentication Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Request Multipart Form-Data Name":{"name":"Request Multipart Form-Data Name","displayName":"Request Multipart Form-Data Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Cache Size":{"name":"Response Cache Size","displayName":"Response Cache Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Response Body Ignored":{"name":"Response Body Ignored","displayName":"Response Body Ignored","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"1 s","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["No Retry","Retry","Original","Failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"f5aefb8c-ec8c-3895-a221-b1514bf49019","instanceIdentifier":"815b69b0-0195-1000-ffff-ffff8e27806d","name":"Produce station records","comments":"","position":{"x":488.0,"y":512.0},"type":"org.apache.nifi.kafka.processors.PublishKafka","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-nar","version":"2.2.0"},"properties":{"compression.type":"none","acks":"all","Message Demarcator":null,"Kafka Key Attribute Encoding":"utf-8","Record Reader":"e75c34eb-8e60-3b6b-8a29-3dd7b79776c4","Record Metadata Strategy":"FROM_PROPERTIES","Transactional ID Prefix":null,"Header Encoding":"UTF-8","max.request.size":"1 MB","Topic Name":"stations","Kafka Key":null,"partition":null,"Kafka Connection Service":"29032623-5723-3b5d-8983-07534da27fd5","Publish Strategy":"USE_VALUE","Record Key Writer":null,"Failure Strategy":"Route to Failure","partitioner.class":"org.apache.kafka.clients.producer.internals.DefaultPartitioner","Record Writer":"f6b7ad0f-da95-39c4-be8d-4ae944d8034b","Transactions Enabled":"false","Message Key Field":null,"FlowFile Attribute Header Pattern":null},"propertyDescriptors":{"compression.type":{"name":"compression.type","displayName":"Compression Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"acks":{"name":"acks","displayName":"Delivery Guarantee","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Demarcator":{"name":"Message Demarcator","displayName":"Message Demarcator","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key Attribute Encoding":{"name":"Kafka Key Attribute Encoding","displayName":"Kafka Key Attribute Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Reader":{"name":"Record Reader","displayName":"Record Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Record Metadata Strategy":{"name":"Record Metadata Strategy","displayName":"Record Metadata Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Transactional ID Prefix":{"name":"Transactional ID Prefix","displayName":"Transactional ID Prefix","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Header Encoding":{"name":"Header Encoding","displayName":"Header Encoding","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.request.size":{"name":"max.request.size","displayName":"Max Request Size","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Topic Name":{"name":"Topic Name","displayName":"Topic Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Key":{"name":"Kafka Key","displayName":"Kafka Key","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partition":{"name":"partition","displayName":"Partition","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Kafka Connection Service":{"name":"Kafka Connection Service","displayName":"Kafka Connection Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Publish Strategy":{"name":"Publish Strategy","displayName":"Publish Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Key Writer":{"name":"Record Key Writer","displayName":"Record Key Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Failure Strategy":{"name":"Failure Strategy","displayName":"Failure Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"partitioner.class":{"name":"partitioner.class","displayName":"Partitioner Class","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Record Writer":{"name":"Record Writer","displayName":"Record Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Transactions Enabled":{"name":"Transactions Enabled","displayName":"Transactions Enabled","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Message Key Field":{"name":"Message Key Field","displayName":"Message Key Field","identifiesControllerService":false,"sensitive":false,"dynamic":false},"FlowFile Attribute Header Pattern":{"name":"FlowFile Attribute Header Pattern","displayName":"FlowFile Attribute Header Pattern","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"style":{},"schedulingPeriod":"0 sec","schedulingStrategy":"TIMER_DRIVEN","executionNode":"ALL","penaltyDuration":"30 sec","yieldDuration":"1 sec","bulletinLevel":"WARN","runDurationMillis":0,"concurrentlySchedulableTaskCount":1,"autoTerminatedRelationships":["success","failure"],"scheduledState":"ENABLED","retryCount":10,"retriedRelationships":[],"backoffMechanism":"PENALIZE_FLOWFILE","maxBackoffPeriod":"10 mins","componentType":"PROCESSOR","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"}],"inputPorts":[],"outputPorts":[],"connections":[{"identifier":"1ed79459-2cd4-30cc-b246-7df8c512d6aa","instanceIdentifier":"f458062a-4156-340b-99e1-2c9c1fd5691d","name":"","source":{"id":"4db42754-1203-340d-830d-d662d16d13c8","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Get station list","comments":"","instanceIdentifier":"d8795306-ee83-3143-b633-fd70c932add5"},"destination":{"id":"656d02d2-3100-39e6-a3dd-a8fe91b6dd06","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"SplitRecord","comments":"","instanceIdentifier":"cec0a8ff-73d7-35d1-9f9c-0c5cc0af6db2"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":1,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"6005f6e4-6a3f-379b-92bb-af654e9c13d8","instanceIdentifier":"1b239318-886a-3f35-a3d4-c7a19aa52cad","name":"","source":{"id":"d56a1c61-9006-315a-a15c-41439f14d030","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"SplitRecord","comments":"","instanceIdentifier":"d78cc57f-9bd1-35a2-9957-a70d52d0fb69"},"destination":{"id":"8809ece7-fbe0-3613-b7b0-77e05c8f4cb1","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Extract station_uuid","comments":"","instanceIdentifier":"1425717b-a077-39b0-872e-7381d0b3848f"},"labelIndex":1,"zIndex":0,"selectedRelationships":["splits"],"backPressureObjectThreshold":10,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"ROUND_ROBIN","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"be649012-9cd8-3408-aef8-361c82058108","instanceIdentifier":"8163d1b9-0195-1000-0000-000023899a37","name":"","source":{"id":"50bc20ed-2b1b-3068-0000-0000423c0a67","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Add station_uuid","comments":"","instanceIdentifier":"3c9c0c1f-db51-39f1-bcea-5aa511e75799"},"destination":{"id":"98a12d17-c277-3226-af8b-03848dbdbf11","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"PublishKafka","comments":"","instanceIdentifier":"816125f7-0195-1000-0000-00006b8c4170"},"labelIndex":0,"zIndex":0,"selectedRelationships":["success"],"backPressureObjectThreshold":20,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"18447f5e-4e45-39bc-80ac-86ef6083a913","instanceIdentifier":"40d45abb-c0bb-3d35-a5e9-d4c28528445c","name":"","source":{"id":"ccf5a9db-6d16-3aa5-b054-b33a51405240","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Extract station_uuid","comments":"","instanceIdentifier":"6304de41-531f-37e9-b1a9-db89a7181c46"},"destination":{"id":"d2841e3c-954c-3f6c-8c2b-0b4f20cea21c","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Get 30 minutes of historic data","comments":"","instanceIdentifier":"a11d09f2-9d6d-390d-947c-397b881e980f"},"labelIndex":1,"zIndex":0,"selectedRelationships":["matched"],"backPressureObjectThreshold":10,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"d7a99464-402e-35fc-b090-3bc3d5fcb68a","instanceIdentifier":"d5259744-57c7-3711-a0da-8114cb7db873","name":"","source":{"id":"8809ece7-fbe0-3613-b7b0-77e05c8f4cb1","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Extract station_uuid","comments":"","instanceIdentifier":"1425717b-a077-39b0-872e-7381d0b3848f"},"destination":{"id":"a961da8c-d228-3d19-b6ed-2d48ebe35b05","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Get 30 days historic data","comments":"","instanceIdentifier":"15a87495-c9dc-36db-a3f0-828a63a688f9"},"labelIndex":1,"zIndex":0,"selectedRelationships":["matched"],"backPressureObjectThreshold":10,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"3b89e1cf-29b9-3e53-bcc5-a58dc0db17a9","instanceIdentifier":"296a4a6e-cf82-39bb-a329-9fc2a74652e7","name":"","source":{"id":"e85c2e60-192e-3ed8-ab64-750311e0ed45","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Get station list","comments":"","instanceIdentifier":"46c0209c-7abe-3a8e-bbc0-39f9333f14b1"},"destination":{"id":"f5aefb8c-ec8c-3895-a221-b1514bf49019","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Produce station records","comments":"","instanceIdentifier":"815b69b0-0195-1000-ffff-ffff8e27806d"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":10000,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"0085c625-9d46-3f18-8d05-2d55c274a50e","instanceIdentifier":"50823b83-873f-3bcd-b044-a85de2c53cf9","name":"","source":{"id":"656d02d2-3100-39e6-a3dd-a8fe91b6dd06","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"SplitRecord","comments":"","instanceIdentifier":"cec0a8ff-73d7-35d1-9f9c-0c5cc0af6db2"},"destination":{"id":"ccf5a9db-6d16-3aa5-b054-b33a51405240","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Extract station_uuid","comments":"","instanceIdentifier":"6304de41-531f-37e9-b1a9-db89a7181c46"},"labelIndex":1,"zIndex":0,"selectedRelationships":["splits"],"backPressureObjectThreshold":10,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"ROUND_ROBIN","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"9424162b-ce44-33ee-8b7a-cfea386e47e4","instanceIdentifier":"74f2322f-a826-39db-87e3-114ce6a576e4","name":"","source":{"id":"e2bdb78b-009b-3086-ad39-816874d3be80","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Get station list","comments":"","instanceIdentifier":"72294ac8-46e9-33fb-8923-8e6cb4c69269"},"destination":{"id":"d56a1c61-9006-315a-a15c-41439f14d030","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"SplitRecord","comments":"","instanceIdentifier":"d78cc57f-9bd1-35a2-9957-a70d52d0fb69"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":1,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"776daaa4-a1f6-38a7-b233-2102ddf589d8","instanceIdentifier":"fbb55c02-33f9-3651-8e7d-f55f264e0514","name":"","source":{"id":"d2841e3c-954c-3f6c-8c2b-0b4f20cea21c","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Get 30 minutes of historic data","comments":"","instanceIdentifier":"a11d09f2-9d6d-390d-947c-397b881e980f"},"destination":{"id":"50bc20ed-2b1b-3068-0000-0000423c0a67","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Add station_uuid","comments":"","instanceIdentifier":"3c9c0c1f-db51-39f1-bcea-5aa511e75799"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":10,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"82121195-d4b9-37e9-9994-87a6d890cc71","instanceIdentifier":"8162fee0-0195-1000-ffff-ffff961b93ba","name":"","source":{"id":"dde01269-6b44-3f4c-9406-8e291cd8aaa4","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Add station_uuid","comments":"","instanceIdentifier":"816243be-0195-1000-ffff-fffff00620a1"},"destination":{"id":"26542ec9-e3e3-380f-ab7a-7fa4b2c46d1e","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"PublishKafka","comments":"","instanceIdentifier":"815f05d7-0195-1000-0000-000005d97f79"},"labelIndex":0,"zIndex":0,"selectedRelationships":["success"],"backPressureObjectThreshold":20,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"e911351c-a4a5-3a14-9c74-ebd96eef0f8d","instanceIdentifier":"8b7cc62b-560c-3b8e-903a-f9572ac50df8","name":"","source":{"id":"a961da8c-d228-3d19-b6ed-2d48ebe35b05","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Get 30 days historic data","comments":"","instanceIdentifier":"15a87495-c9dc-36db-a3f0-828a63a688f9"},"destination":{"id":"dde01269-6b44-3f4c-9406-8e291cd8aaa4","type":"PROCESSOR","groupId":"5bb5c008-b432-3d6f-b99e-fedc455bd418","name":"Add station_uuid","comments":"","instanceIdentifier":"816243be-0195-1000-ffff-fffff00620a1"},"labelIndex":1,"zIndex":0,"selectedRelationships":["Response"],"backPressureObjectThreshold":10,"backPressureDataSizeThreshold":"1 GB","flowFileExpiration":"0 sec","prioritizers":[],"bends":[],"loadBalanceStrategy":"DO_NOT_LOAD_BALANCE","partitioningAttribute":"","loadBalanceCompression":"DO_NOT_COMPRESS","componentType":"CONNECTION","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"}],"labels":[{"identifier":"10ab1424-3268-3b7f-9e4e-d843df2427cd","instanceIdentifier":"a57103e7-30b7-38d7-bb6c-f80b4dc4a710","position":{"x":485.99999797539556,"y":174.99999837990495},"label":"Water levels data","zIndex":0,"width":1104.0,"height":24.0,"style":{"font-size":"12px"},"componentType":"LABEL","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"938fbab6-21ee-347f-814a-b0016b7405b3","instanceIdentifier":"99926082-4766-3223-8332-3f4affeae76b","position":{"x":1237.9999979753957,"y":214.99999837990495},"label":"Stream real-time data","zIndex":0,"width":152.0,"height":24.0,"style":{"font-size":"12px"},"componentType":"LABEL","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"b80512f7-0274-3712-8884-d6b31555927a","instanceIdentifier":"7ef5e570-ca1c-3a70-abf7-9749db121fbc","position":{"x":485.99999797539556,"y":214.99999837990495},"label":"Ingest station records","zIndex":0,"width":152.0,"height":24.0,"style":{"font-size":"12px"},"componentType":"LABEL","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"4524d905-b8c4-32f6-ae83-4ecc54f95bfa","instanceIdentifier":"a501f0f6-3372-3444-829c-2109de521069","position":{"x":861.9999979753956,"y":214.99999837990495},"label":"Ingest historic data","zIndex":0,"width":152.0,"height":24.0,"style":{"font-size":"12px"},"componentType":"LABEL","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"}],"funnels":[],"controllerServices":[{"identifier":"a43e5844-29fd-3ad4-8f84-5cfb771da897","instanceIdentifier":"3213e3ae-00c3-3dd0-a838-770a15dc68e0","name":"StandardRestrictedSSLContextService","comments":"","type":"org.apache.nifi.ssl.StandardRestrictedSSLContextService","bundle":{"group":"org.apache.nifi","artifact":"nifi-ssl-context-service-nar","version":"2.2.0"},"properties":{"Truststore Type":"PKCS12","Truststore Password":"secret","SSL Protocol":"TLSv1.3","Keystore Type":"PKCS12","Keystore Password":"secret","Truststore Filename":"/stackable/keystore/truststore.p12","Keystore Filename":"/stackable/keystore/keystore.p12"},"propertyDescriptors":{"Truststore Type":{"name":"Truststore Type","displayName":"Truststore Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Protocol":{"name":"SSL Protocol","displayName":"TLS Protocol","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Keystore Type":{"name":"Keystore Type","displayName":"Keystore Type","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Truststore Filename":{"name":"Truststore Filename","displayName":"Truststore Filename","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["FILE"]}},"Keystore Password":{"name":"Keystore Password","displayName":"Keystore Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"key-password":{"name":"key-password","displayName":"Key Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Truststore Password":{"name":"Truststore Password","displayName":"Truststore Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"Keystore Filename":{"name":"Keystore Filename","displayName":"Keystore Filename","identifiesControllerService":false,"sensitive":false,"dynamic":false,"resourceDefinition":{"cardinality":"SINGLE","resourceTypes":["FILE"]}}},"controllerServiceApis":[{"type":"org.apache.nifi.ssl.SSLContextProvider","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}},{"type":"org.apache.nifi.ssl.SSLContextService","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}},{"type":"org.apache.nifi.ssl.RestrictedSSLContextService","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"f6b7ad0f-da95-39c4-be8d-4ae944d8034b","instanceIdentifier":"ca38b3a6-868b-33f0-a858-30da336cc679","name":"JsonRecordSetWriter","type":"org.apache.nifi.json.JsonRecordSetWriter","bundle":{"group":"org.apache.nifi","artifact":"nifi-record-serialization-services-nar","version":"2.2.0"},"properties":{"schema-reference-reader":null,"schema-branch":null,"Allow Scientific Notation":"false","compression-level":"1","schema-cache":null,"Timestamp Format":null,"Date Format":null,"Pretty Print JSON":"false","compression-format":"none","Schema Write Strategy":"no-schema","suppress-nulls":"never-suppress","output-grouping":"output-array","schema-name":"${schema.name}","schema-registry":null,"Time Format":null,"schema-access-strategy":"inherit-record-schema","schema-version":null,"schema-text":"${avro.schema}","Schema Reference Writer":null},"propertyDescriptors":{"schema-reference-reader":{"name":"schema-reference-reader","displayName":"Schema Reference Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"schema-branch":{"name":"schema-branch","displayName":"Schema Branch","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Allow Scientific Notation":{"name":"Allow Scientific Notation","displayName":"Allow Scientific Notation","identifiesControllerService":false,"sensitive":false,"dynamic":false},"compression-level":{"name":"compression-level","displayName":"Compression Level","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-cache":{"name":"schema-cache","displayName":"Schema Cache","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Timestamp Format":{"name":"Timestamp Format","displayName":"Timestamp Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Date Format":{"name":"Date Format","displayName":"Date Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Pretty Print JSON":{"name":"Pretty Print JSON","displayName":"Pretty Print JSON","identifiesControllerService":false,"sensitive":false,"dynamic":false},"compression-format":{"name":"compression-format","displayName":"Compression Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Schema Write Strategy":{"name":"Schema Write Strategy","displayName":"Schema Write Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"suppress-nulls":{"name":"suppress-nulls","displayName":"Suppress Null Values","identifiesControllerService":false,"sensitive":false,"dynamic":false},"output-grouping":{"name":"output-grouping","displayName":"Output Grouping","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-name":{"name":"schema-name","displayName":"Schema Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-registry":{"name":"schema-registry","displayName":"Schema Registry","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Time Format":{"name":"Time Format","displayName":"Time Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-access-strategy":{"name":"schema-access-strategy","displayName":"Schema Access Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-version":{"name":"schema-version","displayName":"Schema Version","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-text":{"name":"schema-text","displayName":"Schema Text","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Schema Reference Writer":{"name":"Schema Reference Writer","displayName":"Schema Reference Writer","identifiesControllerService":true,"sensitive":false,"dynamic":false}},"controllerServiceApis":[{"type":"org.apache.nifi.serialization.RecordSetWriterFactory","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"e75c34eb-8e60-3b6b-8a29-3dd7b79776c4","instanceIdentifier":"2d152882-2f62-3e45-8c8e-5f3127f8b931","name":"JsonTreeReader","type":"org.apache.nifi.json.JsonTreeReader","bundle":{"group":"org.apache.nifi","artifact":"nifi-record-serialization-services-nar","version":"2.2.0"},"properties":{"schema-reference-reader":null,"schema-branch":null,"Max String Length":"20 MB","schema-application-strategy":"SELECTED_PART","Timestamp Format":null,"schema-inference-cache":null,"Date Format":null,"schema-name":"${schema.name}","starting-field-strategy":"ROOT_NODE","schema-registry":null,"starting-field-name":null,"Time Format":null,"schema-access-strategy":"infer-schema","schema-version":null,"schema-text":"${avro.schema}","Allow Comments":"false"},"propertyDescriptors":{"schema-reference-reader":{"name":"schema-reference-reader","displayName":"Schema Reference Reader","identifiesControllerService":true,"sensitive":false,"dynamic":false},"schema-branch":{"name":"schema-branch","displayName":"Schema Branch","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Max String Length":{"name":"Max String Length","displayName":"Max String Length","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-application-strategy":{"name":"schema-application-strategy","displayName":"Schema Application Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Timestamp Format":{"name":"Timestamp Format","displayName":"Timestamp Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-inference-cache":{"name":"schema-inference-cache","displayName":"Schema Inference Cache","identifiesControllerService":true,"sensitive":false,"dynamic":false},"Date Format":{"name":"Date Format","displayName":"Date Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-name":{"name":"schema-name","displayName":"Schema Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"starting-field-strategy":{"name":"starting-field-strategy","displayName":"Starting Field Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-registry":{"name":"schema-registry","displayName":"Schema Registry","identifiesControllerService":true,"sensitive":false,"dynamic":false},"starting-field-name":{"name":"starting-field-name","displayName":"Starting Field Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Time Format":{"name":"Time Format","displayName":"Time Format","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-access-strategy":{"name":"schema-access-strategy","displayName":"Schema Access Strategy","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-version":{"name":"schema-version","displayName":"Schema Version","identifiesControllerService":false,"sensitive":false,"dynamic":false},"schema-text":{"name":"schema-text","displayName":"Schema Text","identifiesControllerService":false,"sensitive":false,"dynamic":false},"Allow Comments":{"name":"Allow Comments","displayName":"Allow Comments","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"controllerServiceApis":[{"type":"org.apache.nifi.serialization.RecordReaderFactory","bundle":{"group":"org.apache.nifi","artifact":"nifi-standard-services-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"},{"identifier":"29032623-5723-3b5d-8983-07534da27fd5","instanceIdentifier":"815ba7c0-0195-1000-0000-00002ff4760b","name":"Kafka3ConnectionService","comments":"","type":"org.apache.nifi.kafka.service.Kafka3ConnectionService","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-3-service-nar","version":"2.2.0"},"properties":{"security.protocol":"SSL","SSL Context Service":"a43e5844-29fd-3ad4-8f84-5cfb771da897","ack.wait.time":"5 sec","sasl.username":null,"max.poll.records":"10000","sasl.mechanism":"GSSAPI","isolation.level":"read_committed","max.block.ms":"5 sec","bootstrap.servers":"kafka-broker-default.default.svc.cluster.local:9093","kerberos-user-service":null,"sasl.kerberos.service.name":null,"default.api.timeout.ms":"60 sec"},"propertyDescriptors":{"ack.wait.time":{"name":"ack.wait.time","displayName":"Acknowledgment Wait Time","identifiesControllerService":false,"sensitive":false,"dynamic":false},"sasl.username":{"name":"sasl.username","displayName":"SASL Username","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.poll.records":{"name":"max.poll.records","displayName":"Max Poll Records","identifiesControllerService":false,"sensitive":false,"dynamic":false},"bootstrap.servers":{"name":"bootstrap.servers","displayName":"Bootstrap Servers","identifiesControllerService":false,"sensitive":false,"dynamic":false},"sasl.kerberos.service.name":{"name":"sasl.kerberos.service.name","displayName":"Kerberos Service Name","identifiesControllerService":false,"sensitive":false,"dynamic":false},"security.protocol":{"name":"security.protocol","displayName":"Security Protocol","identifiesControllerService":false,"sensitive":false,"dynamic":false},"SSL Context Service":{"name":"SSL Context Service","displayName":"SSL Context Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"sasl.mechanism":{"name":"sasl.mechanism","displayName":"SASL Mechanism","identifiesControllerService":false,"sensitive":false,"dynamic":false},"isolation.level":{"name":"isolation.level","displayName":"Transaction Isolation Level","identifiesControllerService":false,"sensitive":false,"dynamic":false},"max.block.ms":{"name":"max.block.ms","displayName":"Max Metadata Wait Time","identifiesControllerService":false,"sensitive":false,"dynamic":false},"kerberos-user-service":{"name":"kerberos-user-service","displayName":"Kerberos User Service","identifiesControllerService":true,"sensitive":false,"dynamic":false},"sasl.password":{"name":"sasl.password","displayName":"SASL Password","identifiesControllerService":false,"sensitive":true,"dynamic":false},"default.api.timeout.ms":{"name":"default.api.timeout.ms","displayName":"Client Timeout","identifiesControllerService":false,"sensitive":false,"dynamic":false}},"controllerServiceApis":[{"type":"org.apache.nifi.kafka.service.api.KafkaConnectionService","bundle":{"group":"org.apache.nifi","artifact":"nifi-kafka-service-api-nar","version":"2.2.0"}}],"scheduledState":"DISABLED","bulletinLevel":"WARN","componentType":"CONTROLLER_SERVICE","groupIdentifier":"5bb5c008-b432-3d6f-b99e-fedc455bd418"}],"defaultFlowFileExpiration":"0 sec","defaultBackPressureObjectThreshold":10000,"defaultBackPressureDataSizeThreshold":"1 GB","scheduledState":"ENABLED","executionEngine":"INHERITED","maxConcurrentTasks":1,"statelessFlowTimeout":"1 min","flowFileConcurrency":"UNBOUNDED","flowFileOutboundPolicy":"STREAM_WHEN_AVAILABLE","componentType":"PROCESS_GROUP"},"externalControllerServices":{},"parameterContexts":{},"flowEncodingVersion":"1.0","parameterProviders":{},"latest":false}
diff --git a/demos/nifi-kafka-druid-water-level-data/IngestWaterLevelsToKafka.xml b/demos/nifi-kafka-druid-water-level-data/IngestWaterLevelsToKafka.xml
deleted file mode 100644
index 67da3166..00000000
--- a/demos/nifi-kafka-druid-water-level-data/IngestWaterLevelsToKafka.xml
+++ /dev/null
@@ -1,4872 +0,0 @@
-
-
-
- 379761d6-0187-1000-caa4-a24ff68aaa3b
- IngestWaterLevelsToKafka
-
-
- 012bf8bf-a15d-3857-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- 1 GB
- 10
-
- 96c2b965-e21b-3e62-0000-000000000000
- 3e9fed26-97ab-321a-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- matched
-
- 96c2b965-e21b-3e62-0000-000000000000
- 11ea572e-1c50-3b14-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 1a2d3706-cd4b-37e2-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- 1 GB
- 10000
-
- 96c2b965-e21b-3e62-0000-000000000000
- 03fc6fad-656c-36eb-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- 96c2b965-e21b-3e62-0000-000000000000
- 4c067dc1-d2cf-3e97-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 301d2ed1-11ba-3a2d-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- 1 GB
- 1
-
- 96c2b965-e21b-3e62-0000-000000000000
- 50261d20-4fcc-33eb-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- 96c2b965-e21b-3e62-0000-000000000000
- 408c9703-8457-33b0-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 84c4a416-12a8-311b-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- 1 GB
- 10
-
- 96c2b965-e21b-3e62-0000-000000000000
- c5ac8fd6-036f-326a-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- 96c2b965-e21b-3e62-0000-000000000000
- 19f1cc19-3946-390c-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 8958f0f3-f3a1-37a0-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- 1 GB
- 10
-
- 96c2b965-e21b-3e62-0000-000000000000
- 19f1cc19-3946-390c-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- matched
-
- 96c2b965-e21b-3e62-0000-000000000000
- b547272a-10d9-32f9-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 8c763f6e-58aa-37da-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- 1 GB
- 20
-
- 96c2b965-e21b-3e62-0000-000000000000
- ce875b28-cd77-3508-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- success
-
- 96c2b965-e21b-3e62-0000-000000000000
- c5ac8fd6-036f-326a-0000-000000000000
- PROCESSOR
-
- 0
-
-
- b91bfedd-c2a7-3ab1-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- 1 GB
- 1
-
- 96c2b965-e21b-3e62-0000-000000000000
- 83d94afe-8484-3cf5-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- 96c2b965-e21b-3e62-0000-000000000000
- 1c9804a1-4480-355f-0000-000000000000
- PROCESSOR
-
- 0
-
-
- bbeeb4b0-7703-3087-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- 1 GB
- 20
-
- 96c2b965-e21b-3e62-0000-000000000000
- 36952422-d11e-3b5b-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- success
-
- 96c2b965-e21b-3e62-0000-000000000000
- 4c6a0337-dcbd-3125-0000-000000000000
- PROCESSOR
-
- 0
-
-
- d7f5eb9e-7030-331e-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- 1 GB
- 10
-
- 96c2b965-e21b-3e62-0000-000000000000
- 11ea572e-1c50-3b14-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_INACTIVE
- ROUND_ROBIN
-
- splits
-
- 96c2b965-e21b-3e62-0000-000000000000
- 50261d20-4fcc-33eb-0000-000000000000
- PROCESSOR
-
- 0
-
-
- e8a5f73e-f592-3b7f-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- 1 GB
- 10
-
- 96c2b965-e21b-3e62-0000-000000000000
- b547272a-10d9-32f9-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_INACTIVE
- ROUND_ROBIN
-
- splits
-
- 96c2b965-e21b-3e62-0000-000000000000
- 83d94afe-8484-3cf5-0000-000000000000
- PROCESSOR
-
- 0
-
-
- ea716abd-1a85-30c5-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- 1 GB
- 10
-
- 96c2b965-e21b-3e62-0000-000000000000
- 4c6a0337-dcbd-3125-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- 96c2b965-e21b-3e62-0000-000000000000
- 3e9fed26-97ab-321a-0000-000000000000
- PROCESSOR
-
- 0
-
-
- 118c297a-872d-3302-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- WARN
-
- nifi-ssl-context-service-nar
- org.apache.nifi
- 1.18.0
-
-
-
-
- Keystore Filename
-
- Keystore Filename
-
-
-
- Keystore Password
-
- Keystore Password
-
-
-
- key-password
-
- key-password
-
-
-
- Keystore Type
-
- Keystore Type
-
-
-
- Truststore Filename
-
- Truststore Filename
-
-
-
- Truststore Password
-
- Truststore Password
-
-
-
- Truststore Type
-
- Truststore Type
-
-
-
- SSL Protocol
-
- SSL Protocol
-
-
-
- StandardRestrictedSSLContextService
- false
-
-
- Keystore Filename
- /stackable/keystore/keystore.p12
-
-
- Keystore Password
- secret
-
-
- key-password
-
-
- Keystore Type
- PKCS12
-
-
- Truststore Filename
- /stackable/keystore/truststore.p12
-
-
- Truststore Password
- secret
-
-
- Truststore Type
- PKCS12
-
-
- SSL Protocol
- TLSv1.3
-
-
- ENABLED
- org.apache.nifi.ssl.StandardRestrictedSSLContextService
-
-
- 7766ba84-8379-357b-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- WARN
-
- nifi-record-serialization-services-nar
- org.apache.nifi
- 1.18.0
-
-
-
- schema-access-strategy
-
- schema-access-strategy
-
-
-
- schema-registry
-
-
- confluent-encoded
- schema-name
- hwx-schema-ref-attributes
- hwx-content-encoded-schema
- schema-access-strategy
-
- org.apache.nifi.schemaregistry.services.SchemaRegistry
- schema-registry
-
-
-
- schema-name
-
-
- schema-name
- schema-access-strategy
-
- schema-name
-
-
-
- schema-version
-
-
- schema-name
- schema-access-strategy
-
- schema-version
-
-
-
- schema-branch
-
-
- schema-name
- schema-access-strategy
-
- schema-branch
-
-
-
- schema-text
-
-
- schema-text-property
- schema-access-strategy
-
- schema-text
-
-
-
- schema-inference-cache
-
-
- infer-schema
- schema-access-strategy
-
- org.apache.nifi.serialization.RecordSchemaCacheService
- schema-inference-cache
-
-
-
- starting-field-strategy
-
- starting-field-strategy
-
-
-
- starting-field-name
-
-
- NESTED_FIELD
- starting-field-strategy
-
- starting-field-name
-
-
-
- schema-application-strategy
-
-
- confluent-encoded
- schema-name
- schema-text-property
- hwx-schema-ref-attributes
- hwx-content-encoded-schema
- schema-access-strategy
-
-
- NESTED_FIELD
- starting-field-strategy
-
- schema-application-strategy
-
-
-
- Date Format
-
- Date Format
-
-
-
- Time Format
-
- Time Format
-
-
-
- Timestamp Format
-
- Timestamp Format
-
-
-
- JsonTreeReader
- false
-
-
- schema-access-strategy
- infer-schema
-
-
- schema-registry
-
-
- schema-name
- ${schema.name}
-
-
- schema-version
-
-
- schema-branch
-
-
- schema-text
- ${avro.schema}
-
-
- schema-inference-cache
-
-
- starting-field-strategy
- ROOT_NODE
-
-
- starting-field-name
-
-
- schema-application-strategy
- SELECTED_PART
-
-
- Date Format
-
-
- Time Format
-
-
- Timestamp Format
-
-
- ENABLED
- org.apache.nifi.json.JsonTreeReader
-
-
- f4244ee8-b103-3dab-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
- WARN
-
- nifi-record-serialization-services-nar
- org.apache.nifi
- 1.18.0
-
-
-
- Schema Write Strategy
-
- Schema Write Strategy
-
-
-
- schema-cache
-
- org.apache.nifi.serialization.RecordSchemaCacheService
- schema-cache
-
-
-
- schema-protocol-version
-
-
- hwx-schema-ref-attributes
- hwx-content-encoded-schema
- Schema Write Strategy
-
- schema-protocol-version
-
-
-
- schema-access-strategy
-
- schema-access-strategy
-
-
-
- schema-registry
-
-
- confluent-encoded
- schema-name
- hwx-schema-ref-attributes
- hwx-content-encoded-schema
- schema-access-strategy
-
- org.apache.nifi.schemaregistry.services.SchemaRegistry
- schema-registry
-
-
-
- schema-name
-
-
- schema-name
- schema-access-strategy
-
- schema-name
-
-
-
- schema-version
-
-
- schema-name
- schema-access-strategy
-
- schema-version
-
-
-
- schema-branch
-
-
- schema-name
- schema-access-strategy
-
- schema-branch
-
-
-
- schema-text
-
-
- schema-text-property
- schema-access-strategy
-
- schema-text
-
-
-
- Date Format
-
- Date Format
-
-
-
- Time Format
-
- Time Format
-
-
-
- Timestamp Format
-
- Timestamp Format
-
-
-
- Pretty Print JSON
-
- Pretty Print JSON
-
-
-
- suppress-nulls
-
- suppress-nulls
-
-
-
- output-grouping
-
- output-grouping
-
-
-
- compression-format
-
- compression-format
-
-
-
- compression-level
-
-
- gzip
- compression-format
-
- compression-level
-
-
-
- JsonRecordSetWriter
- false
-
-
- Schema Write Strategy
- no-schema
-
-
- schema-cache
-
-
- schema-protocol-version
- 1
-
-
- schema-access-strategy
- inherit-record-schema
-
-
- schema-registry
-
-
- schema-name
- ${schema.name}
-
-
- schema-version
-
-
- schema-branch
-
-
- schema-text
- ${avro.schema}
-
-
- Date Format
-
-
- Time Format
-
-
- Timestamp Format
-
-
- Pretty Print JSON
- false
-
-
- suppress-nulls
- never-suppress
-
-
- output-grouping
- output-array
-
-
- compression-format
- none
-
-
- compression-level
- 1
-
-
- ENABLED
- org.apache.nifi.json.JsonRecordSetWriter
-
-
- 23c2150c-2398-357e-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 0.0
- 0.0
-
- 24.0
-
-
- 1104.0
- 0
-
-
- 6bf99be3-d0ac-350c-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 376.0
- 40.0
-
- 24.0
-
-
- 152.0
- 0
-
-
- bdcb8da5-f5fe-3772-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 0.0
- 40.0
-
- 24.0
-
-
- 152.0
- 0
-
-
- efe654a1-7d0b-36f3-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 752.0
- 40.0
-
- 24.0
-
-
- 152.0
- 0
-
-
- 03fc6fad-656c-36eb-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 0.0
- 336.0
-
-
- nifi-kafka-2-6-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- bootstrap.servers
-
- bootstrap.servers
-
-
-
- topic
-
- topic
-
-
-
- record-reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- record-reader
-
-
-
- record-writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- record-writer
-
-
-
- use-transactions
-
- use-transactions
-
-
-
- transactional-id-prefix
-
-
-true
-use-transactions
-
- transactional-id-prefix
-
-
-
- Failure Strategy
-
- Failure Strategy
-
-
-
- acks
-
- acks
-
-
-
- attribute-name-regex
-
- attribute-name-regex
-
-
-
- message-header-encoding
-
- message-header-encoding
-
-
-
- security.protocol
-
- security.protocol
-
-
-
- sasl.mechanism
-
- sasl.mechanism
-
-
-
- kerberos-credentials-service
-
- org.apache.nifi.kerberos.KerberosCredentialsService
- kerberos-credentials-service
-
-
-
- kerberos-user-service
-
- org.apache.nifi.kerberos.SelfContainedKerberosUserService
- kerberos-user-service
-
-
-
- sasl.kerberos.service.name
-
- sasl.kerberos.service.name
-
-
-
- sasl.kerberos.principal
-
- sasl.kerberos.principal
-
-
-
- sasl.kerberos.keytab
-
- sasl.kerberos.keytab
-
-
-
- sasl.username
-
- sasl.username
-
-
-
- sasl.password
-
- sasl.password
-
-
-
- sasl.token.auth
-
- sasl.token.auth
-
-
-
- ssl.context.service
-
- org.apache.nifi.ssl.SSLContextService
- ssl.context.service
-
-
-
- message-key-field
-
- message-key-field
-
-
-
- max.request.size
-
- max.request.size
-
-
-
- ack.wait.time
-
- ack.wait.time
-
-
-
- max.block.ms
-
- max.block.ms
-
-
-
- partitioner.class
-
- partitioner.class
-
-
-
- partition
-
- partition
-
-
-
- compression.type
-
- compression.type
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- bootstrap.servers
- kafka-broker-default.default.svc.cluster.local:9093
-
-
- topic
- stations
-
-
- record-reader
- 7766ba84-8379-357b-0000-000000000000
-
-
- record-writer
- f4244ee8-b103-3dab-0000-000000000000
-
-
- use-transactions
- false
-
-
- transactional-id-prefix
-
-
- Failure Strategy
- Route to Failure
-
-
- acks
- all
-
-
- attribute-name-regex
-
-
- message-header-encoding
- UTF-8
-
-
- security.protocol
- SSL
-
-
- sasl.mechanism
- GSSAPI
-
-
- kerberos-credentials-service
-
-
- kerberos-user-service
-
-
- sasl.kerberos.service.name
-
-
- sasl.kerberos.principal
-
-
- sasl.kerberos.keytab
-
-
- sasl.username
-
-
- sasl.password
-
-
- sasl.token.auth
- false
-
-
- ssl.context.service
- 118c297a-872d-3302-0000-000000000000
-
-
- message-key-field
-
-
- max.request.size
- 1 MB
-
-
- ack.wait.time
- 5 secs
-
-
- max.block.ms
- 5 sec
-
-
- partitioner.class
- org.apache.kafka.clients.producer.internals.DefaultPartitioner
-
-
- partition
-
-
- compression.type
- none
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Produce station records
-
- true
- failure
- false
-
-
- true
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_6
-
-
- 11ea572e-1c50-3b14-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 376.0
- 552.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- Destination
-
- Destination
-
-
-
- Return Type
-
- Return Type
-
-
-
- Path Not Found Behavior
-
- Path Not Found Behavior
-
-
-
- Null Value Representation
-
- Null Value Representation
-
-
-
- station_uuid
-
- station_uuid
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- Destination
- flowfile-attribute
-
-
- Return Type
- auto-detect
-
-
- Path Not Found Behavior
- ignore
-
-
- Null Value Representation
- empty string
-
-
- station_uuid
- $.uuid
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Extract station_uuid
-
- true
- failure
- false
-
-
- false
- matched
- false
-
-
- true
- unmatched
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.EvaluateJsonPath
-
-
- 19f1cc19-3946-390c-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 752.0
- 792.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/${station_uuid}/W/measurements.json?start=PT30M
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 1 s
- TIMER_DRIVEN
- 1 sec
-
- false
- Get 30 minutes of historic data
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 1c9804a1-4480-355f-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 752.0
- 72.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- PRIMARY
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 15 m
- TIMER_DRIVEN
- 1 sec
-
- false
- Get station list
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 36952422-d11e-3b5b-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 376.0
- 1232.0
-
-
- nifi-kafka-2-6-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- bootstrap.servers
-
- bootstrap.servers
-
-
-
- topic
-
- topic
-
-
-
- record-reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- record-reader
-
-
-
- record-writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- record-writer
-
-
-
- use-transactions
-
- use-transactions
-
-
-
- transactional-id-prefix
-
-
-true
-use-transactions
-
- transactional-id-prefix
-
-
-
- Failure Strategy
-
- Failure Strategy
-
-
-
- acks
-
- acks
-
-
-
- attribute-name-regex
-
- attribute-name-regex
-
-
-
- message-header-encoding
-
- message-header-encoding
-
-
-
- security.protocol
-
- security.protocol
-
-
-
- sasl.mechanism
-
- sasl.mechanism
-
-
-
- kerberos-credentials-service
-
- org.apache.nifi.kerberos.KerberosCredentialsService
- kerberos-credentials-service
-
-
-
- kerberos-user-service
-
- org.apache.nifi.kerberos.SelfContainedKerberosUserService
- kerberos-user-service
-
-
-
- sasl.kerberos.service.name
-
- sasl.kerberos.service.name
-
-
-
- sasl.kerberos.principal
-
- sasl.kerberos.principal
-
-
-
- sasl.kerberos.keytab
-
- sasl.kerberos.keytab
-
-
-
- sasl.username
-
- sasl.username
-
-
-
- sasl.password
-
- sasl.password
-
-
-
- sasl.token.auth
-
- sasl.token.auth
-
-
-
- ssl.context.service
-
- org.apache.nifi.ssl.SSLContextService
- ssl.context.service
-
-
-
- message-key-field
-
- message-key-field
-
-
-
- max.request.size
-
- max.request.size
-
-
-
- ack.wait.time
-
- ack.wait.time
-
-
-
- max.block.ms
-
- max.block.ms
-
-
-
- partitioner.class
-
- partitioner.class
-
-
-
- partition
-
- partition
-
-
-
- compression.type
-
- compression.type
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- bootstrap.servers
- kafka-broker-default.default.svc.cluster.local:9093
-
-
- topic
- measurements
-
-
- record-reader
- 7766ba84-8379-357b-0000-000000000000
-
-
- record-writer
- f4244ee8-b103-3dab-0000-000000000000
-
-
- use-transactions
- false
-
-
- transactional-id-prefix
-
-
- Failure Strategy
- Route to Failure
-
-
- acks
- all
-
-
- attribute-name-regex
-
-
- message-header-encoding
- UTF-8
-
-
- security.protocol
- SSL
-
-
- sasl.mechanism
- GSSAPI
-
-
- kerberos-credentials-service
-
-
- kerberos-user-service
-
-
- sasl.kerberos.service.name
-
-
- sasl.kerberos.principal
-
-
- sasl.kerberos.keytab
-
-
- sasl.username
-
-
- sasl.password
-
-
- sasl.token.auth
- false
-
-
- ssl.context.service
- 118c297a-872d-3302-0000-000000000000
-
-
- message-key-field
-
-
- max.request.size
- 1 MB
-
-
- ack.wait.time
- 5 secs
-
-
- max.block.ms
- 5 sec
-
-
- partitioner.class
- org.apache.kafka.clients.producer.internals.DefaultPartitioner
-
-
- partition
-
-
- compression.type
- snappy
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- PublishKafkaRecord_2_6
-
- true
- failure
- false
-
-
- true
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_6
-
-
- 3e9fed26-97ab-321a-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 376.0
- 792.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/${station_uuid}/W/measurements.json?start=P30D
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Get 30 days historic data
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 408c9703-8457-33b0-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 376.0
- 72.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- PRIMARY
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 365000 days
- TIMER_DRIVEN
- 1 sec
-
- false
- Get station list
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 4c067dc1-d2cf-3e97-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 0.0
- 72.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- PRIMARY
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 365000 days
- TIMER_DRIVEN
- 1 sec
-
- false
- Get station list
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 4c6a0337-dcbd-3125-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 376.0
- 1016.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- jolt-transform
-
- jolt-transform
-
-
-
- jolt-custom-class
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-class
-
-
-
- jolt-custom-modules
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-modules
-
-
-
- jolt-spec
-
- jolt-spec
-
-
-
- Transform Cache Size
-
- Transform Cache Size
-
-
-
- pretty_print
-
- pretty_print
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- jolt-transform
- jolt-transform-chain
-
-
- jolt-custom-class
-
-
- jolt-custom-modules
-
-
- jolt-spec
- [
- {
- "operation": "default",
- "spec": {
- "*": {
- "station_uuid": "${station_uuid}"
- }
- }
- }
-]
-
-
-
- Transform Cache Size
- 1
-
-
- pretty_print
- false
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Add station_uuid
-
- true
- failure
- false
-
-
- false
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.JoltTransformJSON
-
-
- 50261d20-4fcc-33eb-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 376.0
- 336.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- Record Reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- Record Reader
-
-
-
- Record Writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- Record Writer
-
-
-
- Records Per Split
-
- Records Per Split
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- Record Reader
- 7766ba84-8379-357b-0000-000000000000
-
-
- Record Writer
- f4244ee8-b103-3dab-0000-000000000000
-
-
- Records Per Split
- 1
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- SplitRecord
-
- true
- failure
- false
-
-
- true
- original
- false
-
-
- false
- splits
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.SplitRecord
-
-
- 83d94afe-8484-3cf5-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 752.0
- 336.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- Record Reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- Record Reader
-
-
-
- Record Writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- Record Writer
-
-
-
- Records Per Split
-
- Records Per Split
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- Record Reader
- 7766ba84-8379-357b-0000-000000000000
-
-
- Record Writer
- f4244ee8-b103-3dab-0000-000000000000
-
-
- Records Per Split
- 1
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- SplitRecord
-
- true
- failure
- false
-
-
- true
- original
- false
-
-
- false
- splits
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.SplitRecord
-
-
- b547272a-10d9-32f9-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 752.0
- 552.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- Destination
-
- Destination
-
-
-
- Return Type
-
- Return Type
-
-
-
- Path Not Found Behavior
-
- Path Not Found Behavior
-
-
-
- Null Value Representation
-
- Null Value Representation
-
-
-
- station_uuid
-
- station_uuid
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- Destination
- flowfile-attribute
-
-
- Return Type
- auto-detect
-
-
- Path Not Found Behavior
- ignore
-
-
- Null Value Representation
- empty string
-
-
- station_uuid
- $.uuid
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Extract station_uuid
-
- true
- failure
- false
-
-
- false
- matched
- false
-
-
- true
- unmatched
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.EvaluateJsonPath
-
-
- c5ac8fd6-036f-326a-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 752.0
- 1016.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- jolt-transform
-
- jolt-transform
-
-
-
- jolt-custom-class
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-class
-
-
-
- jolt-custom-modules
-
-
-jolt-transform-custom
-jolt-spec
-
- jolt-custom-modules
-
-
-
- jolt-spec
-
- jolt-spec
-
-
-
- Transform Cache Size
-
- Transform Cache Size
-
-
-
- pretty_print
-
- pretty_print
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- jolt-transform
- jolt-transform-chain
-
-
- jolt-custom-class
-
-
- jolt-custom-modules
-
-
- jolt-spec
- [
- {
- "operation": "default",
- "spec": {
- "*": {
- "station_uuid": "${station_uuid}"
- }
- }
- }
-]
-
-
-
- Transform Cache Size
- 1
-
-
- pretty_print
- false
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Add station_uuid
-
- true
- failure
- false
-
-
- false
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.JoltTransformJSON
-
-
- ce875b28-cd77-3508-0000-000000000000
- 96c2b965-e21b-3e62-0000-000000000000
-
- 752.0
- 1232.0
-
-
- nifi-kafka-2-6-nar
- org.apache.nifi
- 1.18.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- bootstrap.servers
-
- bootstrap.servers
-
-
-
- topic
-
- topic
-
-
-
- record-reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- record-reader
-
-
-
- record-writer
-
- org.apache.nifi.serialization.RecordSetWriterFactory
- record-writer
-
-
-
- use-transactions
-
- use-transactions
-
-
-
- transactional-id-prefix
-
-
-true
-use-transactions
-
- transactional-id-prefix
-
-
-
- Failure Strategy
-
- Failure Strategy
-
-
-
- acks
-
- acks
-
-
-
- attribute-name-regex
-
- attribute-name-regex
-
-
-
- message-header-encoding
-
- message-header-encoding
-
-
-
- security.protocol
-
- security.protocol
-
-
-
- sasl.mechanism
-
- sasl.mechanism
-
-
-
- kerberos-credentials-service
-
- org.apache.nifi.kerberos.KerberosCredentialsService
- kerberos-credentials-service
-
-
-
- kerberos-user-service
-
- org.apache.nifi.kerberos.SelfContainedKerberosUserService
- kerberos-user-service
-
-
-
- sasl.kerberos.service.name
-
- sasl.kerberos.service.name
-
-
-
- sasl.kerberos.principal
-
- sasl.kerberos.principal
-
-
-
- sasl.kerberos.keytab
-
- sasl.kerberos.keytab
-
-
-
- sasl.username
-
- sasl.username
-
-
-
- sasl.password
-
- sasl.password
-
-
-
- sasl.token.auth
-
- sasl.token.auth
-
-
-
- ssl.context.service
-
- org.apache.nifi.ssl.SSLContextService
- ssl.context.service
-
-
-
- message-key-field
-
- message-key-field
-
-
-
- max.request.size
-
- max.request.size
-
-
-
- ack.wait.time
-
- ack.wait.time
-
-
-
- max.block.ms
-
- max.block.ms
-
-
-
- partitioner.class
-
- partitioner.class
-
-
-
- partition
-
- partition
-
-
-
- compression.type
-
- compression.type
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- bootstrap.servers
- kafka-broker-default.default.svc.cluster.local:9093
-
-
- topic
- measurements
-
-
- record-reader
- 7766ba84-8379-357b-0000-000000000000
-
-
- record-writer
- f4244ee8-b103-3dab-0000-000000000000
-
-
- use-transactions
- false
-
-
- transactional-id-prefix
-
-
- Failure Strategy
- Route to Failure
-
-
- acks
- all
-
-
- attribute-name-regex
-
-
- message-header-encoding
- UTF-8
-
-
- security.protocol
- SSL
-
-
- sasl.mechanism
- GSSAPI
-
-
- kerberos-credentials-service
-
-
- kerberos-user-service
-
-
- sasl.kerberos.service.name
-
-
- sasl.kerberos.principal
-
-
- sasl.kerberos.keytab
-
-
- sasl.username
-
-
- sasl.password
-
-
- sasl.token.auth
- false
-
-
- ssl.context.service
- 118c297a-872d-3302-0000-000000000000
-
-
- message-key-field
-
-
- max.request.size
- 1 MB
-
-
- ack.wait.time
- 5 secs
-
-
- max.block.ms
- 5 sec
-
-
- partitioner.class
- org.apache.kafka.clients.producer.internals.DefaultPartitioner
-
-
- partition
-
-
- compression.type
- snappy
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- PublishKafkaRecord_2_6
-
- true
- failure
- false
-
-
- true
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_6
-
-
- 03/31/2023 13:37:15 UTC
-
diff --git a/demos/nifi-kafka-druid-water-level-data/create-nifi-ingestion-job.yaml b/demos/nifi-kafka-druid-water-level-data/create-nifi-ingestion-job.yaml
index edd8fac2..ac5961f1 100644
--- a/demos/nifi-kafka-druid-water-level-data/create-nifi-ingestion-job.yaml
+++ b/demos/nifi-kafka-druid-water-level-data/create-nifi-ingestion-job.yaml
@@ -28,9 +28,7 @@ spec:
- -euo
- pipefail
- -c
- - |
- curl -O https://raw.githubusercontent.com/stackabletech/demos/main/demos/nifi-kafka-druid-water-level-data/IngestWaterLevelsToKafka.xml
- python -u /tmp/script/script.py
+ - python -u /tmp/script/script.py
volumeMounts:
- name: script
mountPath: /tmp/script
@@ -59,7 +57,6 @@ data:
script.py: |
from nipyapi.canvas import get_root_pg_id, schedule_process_group, list_all_controllers, schedule_controller
from nipyapi.security import service_login
- from nipyapi.templates import get_template, upload_template, deploy_template
import nipyapi
import os
import urllib3
@@ -68,26 +65,94 @@ data:
ENDPOINT = f"https://nifi-node-default-0.nifi-node-default.{os.environ['NAMESPACE']}.svc.cluster.local:8443" # For local testing / developing replace it, afterwards change back to f"https://nifi-node-default-0.nifi-node-default.{os.environ['NAMESPACE']}.svc.cluster.local:8443"
USERNAME = "admin"
PASSWORD = open("/nifi-admin-credentials-secret/admin").read()
- TEMPLATE_NAME = "IngestWaterLevelsToKafka"
- TEMPLATE_FILE = f"{TEMPLATE_NAME}.xml"
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
nipyapi.config.nifi_config.host = f"{ENDPOINT}/nifi-api"
nipyapi.config.nifi_config.verify_ssl = False
- print("Logging in")
+ print(f"Logging in as {USERNAME}")
service_login(username=USERNAME, password=PASSWORD)
print("Logged in")
- pg_id = get_root_pg_id()
+ organization = "stackabletech"
+ repository = "demos"
+ branch = "main"
+ version = "main"
+ directory = "demos/nifi-kafka-druid-water-level-data"
+ flow_name = "IngestWaterLevelsToKafka"
+
+ # Check if the GitHub flow registry client already exists
+ flow_registry_clients = nipyapi.nifi.ControllerApi().get_flow_registry_clients().registries
- upload_template(pg_id, TEMPLATE_FILE)
+ github_client = None
+ for client in flow_registry_clients:
+ if client.component.name == "GitHubFlowRegistryClient":
+ github_client = client
+ print("Found existing GitHub flow registry client")
+ break
+
+ if not github_client:
+ print("Creating new GitHub flow registry client")
+ github_client = nipyapi.nifi.ControllerApi().create_flow_registry_client(
+ body={
+ "revision": {"version": 0},
+ "component": {
+ "name": "GitHubFlowRegistryClient",
+ "type": "org.apache.nifi.github.GitHubFlowRegistryClient",
+ "properties": {
+ "Repository Owner": organization,
+ "Repository Name": repository,
+ },
+ "bundle": {
+ "group": "org.apache.nifi",
+ "artifact": "nifi-github-nar",
+ "version": "2.2.0",
+ },
+ },
+ }
+ )
+
+ pg_id = get_root_pg_id()
- template_id = get_template(TEMPLATE_NAME).id
- deploy_template(pg_id, template_id, 200, 0)
+ try:
+ # Create process group from the file in the Git repo
+ nipyapi.nifi.ProcessGroupsApi().create_process_group(
+ id=pg_id,
+ body={
+ "revision": {"version": 0},
+ "component": {
+ "position": {"x": 300, "y": 10},
+ "versionControlInformation": {
+ "registryId": github_client.component.id,
+ "flowId": flow_name,
+ "bucketId": directory,
+ "branch": branch,
+ "version": version,
+ },
+ },
+ },
+ )
+ except ValueError as e:
+ # Ignore, because nipyapi can't handle non-int versions yet
+ if "invalid literal for int() with base 10" in str(e):
+ print("Ignoring ValueError")
+ else:
+ raise e
- for controller in list_all_controllers():
- schedule_controller(controller, scheduled=True)
+ # Scheduling the `Kafka3ConnectionService` fails, if it is started before `StandardRestrictedSSLContextService`, since it depends on it
+ # To work around this, we try to schedule the controllers multiple times
+ # If `Kafka3ConnectionService` is started before `StandardRestrictedSSLContextService`, scheduling it will fail in the first iteration
+ # But it should succeed in the second attempt, since by then `StandardRestrictedSSLContextService` is started
+ max_retries = 2
+ for _ in range(max_retries):
+ controllers = list_all_controllers(pg_id)
+ for controller in controllers:
+ if controller.component.state != "ENABLED":
+ try:
+ schedule_controller(controller, scheduled=True)
+ print(f"Scheduled controller: {controller.component.name}")
+ except Exception as e:
+ print(f"Failed to schedule controller {controller.component.name}: {e}")
schedule_process_group(pg_id, scheduled=True)
diff --git a/demos/signal-processing/Dockerfile-nifi b/demos/signal-processing/Dockerfile-nifi
index faba9af2..f39a639a 100644
--- a/demos/signal-processing/Dockerfile-nifi
+++ b/demos/signal-processing/Dockerfile-nifi
@@ -1,4 +1,4 @@
-FROM oci.stackable.tech/sdp/nifi:1.28.1-stackable0.0.0-dev
+FROM oci.stackable.tech/sdp/nifi:2.2.0-stackable0.0.0-dev
# This is the postgresql JDBC driver from https://jdbc.postgresql.org/download/
# There appear to be no signatures to validate against 😬
diff --git a/demos/signal-processing/DownloadAndWriteToDB.json b/demos/signal-processing/DownloadAndWriteToDB.json
new file mode 100644
index 00000000..963029e3
--- /dev/null
+++ b/demos/signal-processing/DownloadAndWriteToDB.json
@@ -0,0 +1,1090 @@
+{
+ "flowContents": {
+ "identifier": "11920cef-51b3-30d3-b9af-0fc99fffbe7b",
+ "instanceIdentifier": "66f42fb0-0195-1000-7a62-680d717e397a",
+ "name": "DownloadAndWriteToDB",
+ "comments": "",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "processGroups": [],
+ "remoteProcessGroups": [],
+ "processors": [
+ {
+ "identifier": "d5778784-f9b5-3949-89ff-bcee42fd5950",
+ "instanceIdentifier": "4bcb7570-148b-3521-8c58-e612fa61835f",
+ "name": "InvokeHTTP",
+ "comments": "",
+ "position": {
+ "x": 203.0,
+ "y": 0.0
+ },
+ "type": "org.apache.nifi.processors.standard.InvokeHTTP",
+ "bundle": {
+ "group": "org.apache.nifi",
+ "artifact": "nifi-standard-nar",
+ "version": "2.2.0"
+ },
+ "properties": {
+ "Proxy Host": null,
+ "Attributes to Send": null,
+ "use-etag": "false",
+ "proxy-configuration-service": null,
+ "Proxy Type": "http",
+ "cookie-strategy": "DISABLED",
+ "Connection Timeout": "5 secs",
+ "send-message-body": "true",
+ "set-form-filename": "true",
+ "Always Output Response": "false",
+ "etag-max-cache-size": "10MB",
+ "Content-Encoding": "DISABLED",
+ "disable-http2": "False",
+ "idle-timeout": "5 mins",
+ "Put Response Body In Attribute": null,
+ "Use Chunked Encoding": "false",
+ "Follow Redirects": "True",
+ "Remote URL": "https://repo.stackable.tech/repository/misc/datasets/gas-sensor-data/20160930_203718.csv",
+ "form-body-form-name": null,
+ "Content-Type": "${mime.type}",
+ "flow-file-naming-strategy": "RANDOM",
+ "max-idle-connections": "5",
+ "invokehttp-proxy-user": null,
+ "Read Timeout": "15 secs",
+ "Socket Write Timeout": "15 secs",
+ "Max Length To Put In Attribute": "256",
+ "ignore-response-content": "false",
+ "Proxy Port": null,
+ "SSL Context Service": null,
+ "Digest Authentication": "false",
+ "HTTP Method": "GET",
+ "Add Response Headers to Request": "false",
+ "oauth2-access-token-provider": null,
+ "Basic Authentication Username": null,
+ "Include Date Header": "True",
+ "Penalize on \"No Retry\"": "false",
+ "Useragent": null
+ },
+ "propertyDescriptors": {
+ "Proxy Host": {
+ "name": "Proxy Host",
+ "displayName": "Proxy Host",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Attributes to Send": {
+ "name": "Attributes to Send",
+ "displayName": "Request Header Attributes Pattern",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "use-etag": {
+ "name": "use-etag",
+ "displayName": "Response Cache Enabled",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "proxy-configuration-service": {
+ "name": "proxy-configuration-service",
+ "displayName": "Proxy Configuration Service",
+ "identifiesControllerService": true,
+ "sensitive": false
+ },
+ "Proxy Type": {
+ "name": "Proxy Type",
+ "displayName": "Proxy Type",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Basic Authentication Password": {
+ "name": "Basic Authentication Password",
+ "displayName": "Request Password",
+ "identifiesControllerService": false,
+ "sensitive": true
+ },
+ "cookie-strategy": {
+ "name": "cookie-strategy",
+ "displayName": "Response Cookie Strategy",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Connection Timeout": {
+ "name": "Connection Timeout",
+ "displayName": "Socket Connect Timeout",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "send-message-body": {
+ "name": "send-message-body",
+ "displayName": "Request Body Enabled",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "set-form-filename": {
+ "name": "set-form-filename",
+ "displayName": "Request Multipart Form-Data Filename Enabled",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Always Output Response": {
+ "name": "Always Output Response",
+ "displayName": "Response Generation Required",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "etag-max-cache-size": {
+ "name": "etag-max-cache-size",
+ "displayName": "Response Cache Size",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Content-Encoding": {
+ "name": "Content-Encoding",
+ "displayName": "Request Content-Encoding",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "disable-http2": {
+ "name": "disable-http2",
+ "displayName": "HTTP/2 Disabled",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "idle-timeout": {
+ "name": "idle-timeout",
+ "displayName": "Socket Idle Timeout",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Put Response Body In Attribute": {
+ "name": "Put Response Body In Attribute",
+ "displayName": "Response Body Attribute Name",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Use Chunked Encoding": {
+ "name": "Use Chunked Encoding",
+ "displayName": "Request Chunked Transfer-Encoding Enabled",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Follow Redirects": {
+ "name": "Follow Redirects",
+ "displayName": "Response Redirects Enabled",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Remote URL": {
+ "name": "Remote URL",
+ "displayName": "HTTP URL",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "form-body-form-name": {
+ "name": "form-body-form-name",
+ "displayName": "Request Multipart Form-Data Name",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Content-Type": {
+ "name": "Content-Type",
+ "displayName": "Request Content-Type",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "flow-file-naming-strategy": {
+ "name": "flow-file-naming-strategy",
+ "displayName": "Response FlowFile Naming Strategy",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "max-idle-connections": {
+ "name": "max-idle-connections",
+ "displayName": "Socket Idle Connections",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "invokehttp-proxy-user": {
+ "name": "invokehttp-proxy-user",
+ "displayName": "Proxy Username",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Read Timeout": {
+ "name": "Read Timeout",
+ "displayName": "Socket Read Timeout",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Socket Write Timeout": {
+ "name": "Socket Write Timeout",
+ "displayName": "Socket Write Timeout",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Max Length To Put In Attribute": {
+ "name": "Max Length To Put In Attribute",
+ "displayName": "Response Body Attribute Size",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "invokehttp-proxy-password": {
+ "name": "invokehttp-proxy-password",
+ "displayName": "Proxy Password",
+ "identifiesControllerService": false,
+ "sensitive": true
+ },
+ "ignore-response-content": {
+ "name": "ignore-response-content",
+ "displayName": "Response Body Ignored",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Proxy Port": {
+ "name": "Proxy Port",
+ "displayName": "Proxy Port",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "SSL Context Service": {
+ "name": "SSL Context Service",
+ "displayName": "SSL Context Service",
+ "identifiesControllerService": true,
+ "sensitive": false
+ },
+ "Digest Authentication": {
+ "name": "Digest Authentication",
+ "displayName": "Request Digest Authentication Enabled",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "HTTP Method": {
+ "name": "HTTP Method",
+ "displayName": "HTTP Method",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Add Response Headers to Request": {
+ "name": "Add Response Headers to Request",
+ "displayName": "Response Header Request Attributes Enabled",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "oauth2-access-token-provider": {
+ "name": "oauth2-access-token-provider",
+ "displayName": "Request OAuth2 Access Token Provider",
+ "identifiesControllerService": true,
+ "sensitive": false
+ },
+ "Basic Authentication Username": {
+ "name": "Basic Authentication Username",
+ "displayName": "Request Username",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Include Date Header": {
+ "name": "Include Date Header",
+ "displayName": "Request Date Header Enabled",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Penalize on \"No Retry\"": {
+ "name": "Penalize on \"No Retry\"",
+ "displayName": "Request Failure Penalization Enabled",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Useragent": {
+ "name": "Useragent",
+ "displayName": "Request User-Agent",
+ "identifiesControllerService": false,
+ "sensitive": false
+ }
+ },
+ "style": {},
+ "schedulingPeriod": "365000 days",
+ "schedulingStrategy": "TIMER_DRIVEN",
+ "executionNode": "ALL",
+ "penaltyDuration": "30 sec",
+ "yieldDuration": "1 sec",
+ "bulletinLevel": "WARN",
+ "runDurationMillis": 0,
+ "concurrentlySchedulableTaskCount": 1,
+ "autoTerminatedRelationships": [
+ "No Retry",
+ "Retry",
+ "Original",
+ "Failure"
+ ],
+ "scheduledState": "ENABLED",
+ "retryCount": 10,
+ "retriedRelationships": [],
+ "backoffMechanism": "PENALIZE_FLOWFILE",
+ "maxBackoffPeriod": "10 mins",
+ "componentType": "PROCESSOR",
+ "groupIdentifier": "11920cef-51b3-30d3-b9af-0fc99fffbe7b"
+ },
+ {
+ "identifier": "6289a37d-87f4-3c33-8dfc-dd2b4e43b37c",
+ "instanceIdentifier": "6e68cc32-20f8-3d76-b3a1-deb01d041093",
+ "name": "PutDatabaseRecord",
+ "comments": "",
+ "position": {
+ "x": 200.0,
+ "y": 256.0
+ },
+ "type": "org.apache.nifi.processors.standard.PutDatabaseRecord",
+ "bundle": {
+ "group": "org.apache.nifi",
+ "artifact": "nifi-standard-nar",
+ "version": "2.2.0"
+ },
+ "properties": {
+ "put-db-record-allow-multiple-statements": "false",
+ "table-schema-cache-size": "100",
+ "put-db-record-schema-name": "public",
+ "put-db-record-field-containing-sql": null,
+ "put-db-record-quoted-table-identifiers": "false",
+ "Statement Type Record Path": null,
+ "put-db-record-unmatched-column-behavior": "Fail on Unmatched Columns",
+ "put-db-record-catalog-name": "tsdb",
+ "put-db-record-translate-field-names": "true",
+ "put-db-record-dcbp-service": "046e2c2c-cf67-3033-a37e-7b2019b95b71",
+ "put-db-record-query-timeout": "0 seconds",
+ "rollback-on-failure": "false",
+ "put-db-record-statement-type": "INSERT",
+ "put-db-record-binary-format": "UTF-8",
+ "db-type": "PostgreSQL",
+ "put-db-record-update-keys": null,
+ "put-db-record-quoted-identifiers": "false",
+ "put-db-record-table-name": "conditions_temp",
+ "put-db-record-unmatched-field-behavior": "Ignore Unmatched Fields",
+ "put-db-record-max-batch-size": "0",
+ "put-db-record-record-reader": "698fd1ba-b795-3127-975e-b55c33045dc0",
+ "Data Record Path": null,
+ "database-session-autocommit": "false"
+ },
+ "propertyDescriptors": {
+ "put-db-record-allow-multiple-statements": {
+ "name": "put-db-record-allow-multiple-statements",
+ "displayName": "Allow Multiple SQL Statements",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "table-schema-cache-size": {
+ "name": "table-schema-cache-size",
+ "displayName": "Table Schema Cache Size",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-schema-name": {
+ "name": "put-db-record-schema-name",
+ "displayName": "Schema Name",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-field-containing-sql": {
+ "name": "put-db-record-field-containing-sql",
+ "displayName": "Field Containing SQL",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-quoted-table-identifiers": {
+ "name": "put-db-record-quoted-table-identifiers",
+ "displayName": "Quote Table Identifiers",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Statement Type Record Path": {
+ "name": "Statement Type Record Path",
+ "displayName": "Statement Type Record Path",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-unmatched-column-behavior": {
+ "name": "put-db-record-unmatched-column-behavior",
+ "displayName": "Unmatched Column Behavior",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-catalog-name": {
+ "name": "put-db-record-catalog-name",
+ "displayName": "Catalog Name",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-translate-field-names": {
+ "name": "put-db-record-translate-field-names",
+ "displayName": "Translate Field Names",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-dcbp-service": {
+ "name": "put-db-record-dcbp-service",
+ "displayName": "Database Connection Pooling Service",
+ "identifiesControllerService": true,
+ "sensitive": false
+ },
+ "put-db-record-query-timeout": {
+ "name": "put-db-record-query-timeout",
+ "displayName": "Max Wait Time",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "rollback-on-failure": {
+ "name": "rollback-on-failure",
+ "displayName": "Rollback On Failure",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-statement-type": {
+ "name": "put-db-record-statement-type",
+ "displayName": "Statement Type",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-binary-format": {
+ "name": "put-db-record-binary-format",
+ "displayName": "Binary String Format",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "db-type": {
+ "name": "db-type",
+ "displayName": "Database Type",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-update-keys": {
+ "name": "put-db-record-update-keys",
+ "displayName": "Update Keys",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-quoted-identifiers": {
+ "name": "put-db-record-quoted-identifiers",
+ "displayName": "Quote Column Identifiers",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-table-name": {
+ "name": "put-db-record-table-name",
+ "displayName": "Table Name",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-unmatched-field-behavior": {
+ "name": "put-db-record-unmatched-field-behavior",
+ "displayName": "Unmatched Field Behavior",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-max-batch-size": {
+ "name": "put-db-record-max-batch-size",
+ "displayName": "Maximum Batch Size",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "put-db-record-record-reader": {
+ "name": "put-db-record-record-reader",
+ "displayName": "Record Reader",
+ "identifiesControllerService": true,
+ "sensitive": false
+ },
+ "Data Record Path": {
+ "name": "Data Record Path",
+ "displayName": "Data Record Path",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "database-session-autocommit": {
+ "name": "database-session-autocommit",
+ "displayName": "Database Session AutoCommit",
+ "identifiesControllerService": false,
+ "sensitive": false
+ }
+ },
+ "style": {},
+ "schedulingPeriod": "0 sec",
+ "schedulingStrategy": "TIMER_DRIVEN",
+ "executionNode": "ALL",
+ "penaltyDuration": "30 sec",
+ "yieldDuration": "1 sec",
+ "bulletinLevel": "WARN",
+ "runDurationMillis": 0,
+ "concurrentlySchedulableTaskCount": 1,
+ "autoTerminatedRelationships": [
+ "failure",
+ "retry"
+ ],
+ "scheduledState": "ENABLED",
+ "retryCount": 10,
+ "retriedRelationships": [],
+ "backoffMechanism": "PENALIZE_FLOWFILE",
+ "maxBackoffPeriod": "10 mins",
+ "componentType": "PROCESSOR",
+ "groupIdentifier": "11920cef-51b3-30d3-b9af-0fc99fffbe7b"
+ },
+ {
+ "identifier": "81f57bef-549e-391c-b8dc-aa58782dd636",
+ "instanceIdentifier": "4d2fd50c-ff65-382a-bde7-362ee51f2211",
+ "name": "Update hypertable",
+ "comments": "",
+ "position": {
+ "x": 200.0,
+ "y": 544.0
+ },
+ "type": "org.apache.nifi.processors.standard.PutSQL",
+ "bundle": {
+ "group": "org.apache.nifi",
+ "artifact": "nifi-standard-nar",
+ "version": "2.2.0"
+ },
+ "properties": {
+ "Support Fragmented Transactions": "false",
+ "putsql-sql-statement": "insert into conditions\nselect now() + timesecs * interval '1 second'\n, timesecs\n, coppm\n, humidity\n, temperature\n, flowrate\n, heatervoltage\n, r1\n, r2\n, r3\n, r4\n, r5\n, r6\n, r7\n, r8\n, r9\n, r10\n, r11\n, r12\n, r13\n, r14\nfrom conditions_temp;",
+ "Transaction Timeout": null,
+ "Batch Size": "100",
+ "Obtain Generated Keys": "false",
+ "JDBC Connection Pool": "046e2c2c-cf67-3033-a37e-7b2019b95b71",
+ "database-session-autocommit": "true",
+ "rollback-on-failure": "false"
+ },
+ "propertyDescriptors": {
+ "Support Fragmented Transactions": {
+ "name": "Support Fragmented Transactions",
+ "displayName": "Support Fragmented Transactions",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "putsql-sql-statement": {
+ "name": "putsql-sql-statement",
+ "displayName": "SQL Statement",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Transaction Timeout": {
+ "name": "Transaction Timeout",
+ "displayName": "Transaction Timeout",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Batch Size": {
+ "name": "Batch Size",
+ "displayName": "Batch Size",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Obtain Generated Keys": {
+ "name": "Obtain Generated Keys",
+ "displayName": "Obtain Generated Keys",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "JDBC Connection Pool": {
+ "name": "JDBC Connection Pool",
+ "displayName": "JDBC Connection Pool",
+ "identifiesControllerService": true,
+ "sensitive": false
+ },
+ "database-session-autocommit": {
+ "name": "database-session-autocommit",
+ "displayName": "Database Session AutoCommit",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "rollback-on-failure": {
+ "name": "rollback-on-failure",
+ "displayName": "Rollback On Failure",
+ "identifiesControllerService": false,
+ "sensitive": false
+ }
+ },
+ "style": {},
+ "schedulingPeriod": "0 sec",
+ "schedulingStrategy": "TIMER_DRIVEN",
+ "executionNode": "ALL",
+ "penaltyDuration": "30 sec",
+ "yieldDuration": "1 sec",
+ "bulletinLevel": "WARN",
+ "runDurationMillis": 0,
+ "concurrentlySchedulableTaskCount": 1,
+ "autoTerminatedRelationships": [
+ "success",
+ "failure",
+ "retry"
+ ],
+ "scheduledState": "ENABLED",
+ "retryCount": 10,
+ "retriedRelationships": [],
+ "backoffMechanism": "PENALIZE_FLOWFILE",
+ "maxBackoffPeriod": "10 mins",
+ "componentType": "PROCESSOR",
+ "groupIdentifier": "11920cef-51b3-30d3-b9af-0fc99fffbe7b"
+ }
+ ],
+ "inputPorts": [],
+ "outputPorts": [],
+ "connections": [
+ {
+ "identifier": "2b10a2e4-0786-34b0-beff-5a8a4ae099a2",
+ "instanceIdentifier": "1df138f7-6a8d-33f6-81c2-a2193a237c44",
+ "name": "",
+ "source": {
+ "id": "d5778784-f9b5-3949-89ff-bcee42fd5950",
+ "type": "PROCESSOR",
+ "groupId": "11920cef-51b3-30d3-b9af-0fc99fffbe7b",
+ "name": "InvokeHTTP",
+ "comments": "",
+ "instanceIdentifier": "4bcb7570-148b-3521-8c58-e612fa61835f"
+ },
+ "destination": {
+ "id": "6289a37d-87f4-3c33-8dfc-dd2b4e43b37c",
+ "type": "PROCESSOR",
+ "groupId": "11920cef-51b3-30d3-b9af-0fc99fffbe7b",
+ "name": "PutDatabaseRecord",
+ "comments": "",
+ "instanceIdentifier": "6e68cc32-20f8-3d76-b3a1-deb01d041093"
+ },
+ "labelIndex": 1,
+ "zIndex": 0,
+ "selectedRelationships": [
+ "Response"
+ ],
+ "backPressureObjectThreshold": 10000,
+ "backPressureDataSizeThreshold": "1 GB",
+ "flowFileExpiration": "0 sec",
+ "prioritizers": [],
+ "bends": [],
+ "loadBalanceStrategy": "DO_NOT_LOAD_BALANCE",
+ "partitioningAttribute": "",
+ "loadBalanceCompression": "DO_NOT_COMPRESS",
+ "componentType": "CONNECTION",
+ "groupIdentifier": "11920cef-51b3-30d3-b9af-0fc99fffbe7b"
+ },
+ {
+ "identifier": "a81b0fcf-3aad-39bd-910b-6713053af391",
+ "instanceIdentifier": "bc077070-b57b-3923-b9b3-510aec5009c2",
+ "name": "",
+ "source": {
+ "id": "6289a37d-87f4-3c33-8dfc-dd2b4e43b37c",
+ "type": "PROCESSOR",
+ "groupId": "11920cef-51b3-30d3-b9af-0fc99fffbe7b",
+ "name": "PutDatabaseRecord",
+ "comments": "",
+ "instanceIdentifier": "6e68cc32-20f8-3d76-b3a1-deb01d041093"
+ },
+ "destination": {
+ "id": "81f57bef-549e-391c-b8dc-aa58782dd636",
+ "type": "PROCESSOR",
+ "groupId": "11920cef-51b3-30d3-b9af-0fc99fffbe7b",
+ "name": "Update hypertable",
+ "comments": "",
+ "instanceIdentifier": "4d2fd50c-ff65-382a-bde7-362ee51f2211"
+ },
+ "labelIndex": 1,
+ "zIndex": 0,
+ "selectedRelationships": [
+ "success"
+ ],
+ "backPressureObjectThreshold": 10000,
+ "backPressureDataSizeThreshold": "1 GB",
+ "flowFileExpiration": "0 sec",
+ "prioritizers": [],
+ "bends": [],
+ "loadBalanceStrategy": "DO_NOT_LOAD_BALANCE",
+ "partitioningAttribute": "",
+ "loadBalanceCompression": "DO_NOT_COMPRESS",
+ "componentType": "CONNECTION",
+ "groupIdentifier": "11920cef-51b3-30d3-b9af-0fc99fffbe7b"
+ }
+ ],
+ "labels": [
+ {
+ "identifier": "4e3b0fdf-4b0b-3905-8a00-f5e321d86ccd",
+ "instanceIdentifier": "186870f8-9fb7-3efb-b17a-7adb55af952b",
+ "position": {
+ "x": 504.0,
+ "y": 416.0
+ },
+ "label": "This flow downloads a dataset, writing it to a temporary table in TimescaleDB.\nThis data is then written to the target table with the time offsets preserved,\nbut re-based to the current time. This means that the data can be displayed\nin Grafana as if it were being streamed, whereas in fact the dashboard moves\nthrough \"future\" data that has already been persisted.",
+ "zIndex": 0,
+ "width": 432.0,
+ "height": 88.0,
+ "style": {
+ "font-size": "12px"
+ },
+ "componentType": "LABEL",
+ "groupIdentifier": "11920cef-51b3-30d3-b9af-0fc99fffbe7b"
+ }
+ ],
+ "funnels": [],
+ "controllerServices": [
+ {
+ "identifier": "046e2c2c-cf67-3033-a37e-7b2019b95b71",
+ "instanceIdentifier": "af0e7074-b312-3e72-a5a7-409674e98a1d",
+ "name": "DBCPConnectionPool",
+ "comments": "",
+ "type": "org.apache.nifi.dbcp.DBCPConnectionPool",
+ "bundle": {
+ "group": "org.apache.nifi",
+ "artifact": "nifi-dbcp-service-nar",
+ "version": "2.2.0"
+ },
+ "properties": {
+ "dbcp-min-idle-conns": "0",
+ "Max Wait Time": "500 millis",
+ "Database Driver Class Name": "org.postgresql.Driver",
+ "dbcp-min-evictable-idle-time": "30 mins",
+ "kerberos-principal": null,
+ "Max Total Connections": "8",
+ "kerberos-credentials-service": null,
+ "dbcp-max-conn-lifetime": "-1",
+ "Validation-query": "select count(*) from conditions;",
+ "Database Connection URL": "jdbc:postgresql://postgresql-timescaledb.default.svc.cluster.local:5432/tsdb",
+ "dbcp-time-between-eviction-runs": "-1",
+ "Database User": "admin",
+ "kerberos-user-service": null,
+ "dbcp-soft-min-evictable-idle-time": "-1",
+ "database-driver-locations": "/stackable/nifi/postgresql-42.7.5.jar",
+ "dbcp-max-idle-conns": "8"
+ },
+ "propertyDescriptors": {
+ "kerberos-password": {
+ "name": "kerberos-password",
+ "displayName": "Kerberos Password",
+ "identifiesControllerService": false,
+ "sensitive": true
+ },
+ "dbcp-min-idle-conns": {
+ "name": "dbcp-min-idle-conns",
+ "displayName": "Minimum Idle Connections",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Max Wait Time": {
+ "name": "Max Wait Time",
+ "displayName": "Max Wait Time",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Database Driver Class Name": {
+ "name": "Database Driver Class Name",
+ "displayName": "Database Driver Class Name",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "dbcp-min-evictable-idle-time": {
+ "name": "dbcp-min-evictable-idle-time",
+ "displayName": "Minimum Evictable Idle Time",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "kerberos-principal": {
+ "name": "kerberos-principal",
+ "displayName": "Kerberos Principal",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Max Total Connections": {
+ "name": "Max Total Connections",
+ "displayName": "Max Total Connections",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "kerberos-credentials-service": {
+ "name": "kerberos-credentials-service",
+ "displayName": "Kerberos Credentials Service",
+ "identifiesControllerService": true,
+ "sensitive": false
+ },
+ "dbcp-max-conn-lifetime": {
+ "name": "dbcp-max-conn-lifetime",
+ "displayName": "Max Connection Lifetime",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Validation-query": {
+ "name": "Validation-query",
+ "displayName": "Validation query",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Database Connection URL": {
+ "name": "Database Connection URL",
+ "displayName": "Database Connection URL",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "dbcp-time-between-eviction-runs": {
+ "name": "dbcp-time-between-eviction-runs",
+ "displayName": "Time Between Eviction Runs",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Database User": {
+ "name": "Database User",
+ "displayName": "Database User",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "kerberos-user-service": {
+ "name": "kerberos-user-service",
+ "displayName": "Kerberos User Service",
+ "identifiesControllerService": true,
+ "sensitive": false
+ },
+ "dbcp-soft-min-evictable-idle-time": {
+ "name": "dbcp-soft-min-evictable-idle-time",
+ "displayName": "Soft Minimum Evictable Idle Time",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "database-driver-locations": {
+ "name": "database-driver-locations",
+ "displayName": "Database Driver Location(s)",
+ "identifiesControllerService": false,
+ "sensitive": false,
+ "resourceDefinition": {
+ "cardinality": "MULTIPLE",
+ "resourceTypes": [
+ "DIRECTORY",
+ "URL",
+ "FILE"
+ ]
+ }
+ },
+ "dbcp-max-idle-conns": {
+ "name": "dbcp-max-idle-conns",
+ "displayName": "Max Idle Connections",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Password": {
+ "name": "Password",
+ "displayName": "Password",
+ "identifiesControllerService": false,
+ "sensitive": true
+ }
+ },
+ "controllerServiceApis": [
+ {
+ "type": "org.apache.nifi.dbcp.DBCPService",
+ "bundle": {
+ "group": "org.apache.nifi",
+ "artifact": "nifi-standard-services-api-nar",
+ "version": "2.2.0"
+ }
+ }
+ ],
+ "scheduledState": "DISABLED",
+ "bulletinLevel": "WARN",
+ "componentType": "CONTROLLER_SERVICE",
+ "groupIdentifier": "11920cef-51b3-30d3-b9af-0fc99fffbe7b"
+ },
+ {
+ "identifier": "698fd1ba-b795-3127-975e-b55c33045dc0",
+ "instanceIdentifier": "e6f67d2c-4c6e-3549-b91c-aea705e044b1",
+ "name": "CSVReader",
+ "comments": "",
+ "type": "org.apache.nifi.csv.CSVReader",
+ "bundle": {
+ "group": "org.apache.nifi",
+ "artifact": "nifi-record-serialization-services-nar",
+ "version": "2.2.0"
+ },
+ "properties": {
+ "ignore-csv-header": "false",
+ "schema-branch": null,
+ "Trim double quote": "true",
+ "CSV Format": "custom",
+ "Quote Character": "\"",
+ "csvutils-allow-duplicate-header-names": "true",
+ "Value Separator": ",",
+ "Record Separator": "\\n",
+ "Timestamp Format": null,
+ "Escape Character": "\\",
+ "Date Format": null,
+ "Null String": null,
+ "Skip Header Line": "true",
+ "Trim Fields": "true",
+ "schema-name": "${schema.name}",
+ "schema-registry": null,
+ "csv-reader-csv-parser": "commons-csv",
+ "Time Format": null,
+ "Comment Marker": null,
+ "schema-access-strategy": "infer-schema",
+ "schema-version": null,
+ "csvutils-character-set": "UTF-8",
+ "schema-text": "${avro.schema}"
+ },
+ "propertyDescriptors": {
+ "ignore-csv-header": {
+ "name": "ignore-csv-header",
+ "displayName": "Ignore CSV Header Column Names",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "schema-branch": {
+ "name": "schema-branch",
+ "displayName": "Schema Branch",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Trim double quote": {
+ "name": "Trim double quote",
+ "displayName": "Trim double quote",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "CSV Format": {
+ "name": "CSV Format",
+ "displayName": "CSV Format",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Quote Character": {
+ "name": "Quote Character",
+ "displayName": "Quote Character",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "csvutils-allow-duplicate-header-names": {
+ "name": "csvutils-allow-duplicate-header-names",
+ "displayName": "Allow Duplicate Header Names",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Value Separator": {
+ "name": "Value Separator",
+ "displayName": "Value Separator",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Record Separator": {
+ "name": "Record Separator",
+ "displayName": "Record Separator",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Timestamp Format": {
+ "name": "Timestamp Format",
+ "displayName": "Timestamp Format",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Escape Character": {
+ "name": "Escape Character",
+ "displayName": "Escape Character",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Date Format": {
+ "name": "Date Format",
+ "displayName": "Date Format",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Null String": {
+ "name": "Null String",
+ "displayName": "Null String",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Skip Header Line": {
+ "name": "Skip Header Line",
+ "displayName": "Treat First Line as Header",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Trim Fields": {
+ "name": "Trim Fields",
+ "displayName": "Trim Fields",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "schema-name": {
+ "name": "schema-name",
+ "displayName": "Schema Name",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "schema-registry": {
+ "name": "schema-registry",
+ "displayName": "Schema Registry",
+ "identifiesControllerService": true,
+ "sensitive": false
+ },
+ "csv-reader-csv-parser": {
+ "name": "csv-reader-csv-parser",
+ "displayName": "CSV Parser",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Time Format": {
+ "name": "Time Format",
+ "displayName": "Time Format",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "Comment Marker": {
+ "name": "Comment Marker",
+ "displayName": "Comment Marker",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "schema-access-strategy": {
+ "name": "schema-access-strategy",
+ "displayName": "Schema Access Strategy",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "schema-version": {
+ "name": "schema-version",
+ "displayName": "Schema Version",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "csvutils-character-set": {
+ "name": "csvutils-character-set",
+ "displayName": "Character Set",
+ "identifiesControllerService": false,
+ "sensitive": false
+ },
+ "schema-text": {
+ "name": "schema-text",
+ "displayName": "Schema Text",
+ "identifiesControllerService": false,
+ "sensitive": false
+ }
+ },
+ "controllerServiceApis": [
+ {
+ "type": "org.apache.nifi.serialization.RecordReaderFactory",
+ "bundle": {
+ "group": "org.apache.nifi",
+ "artifact": "nifi-standard-services-api-nar",
+ "version": "2.2.0"
+ }
+ }
+ ],
+ "scheduledState": "DISABLED",
+ "bulletinLevel": "WARN",
+ "componentType": "CONTROLLER_SERVICE",
+ "groupIdentifier": "11920cef-51b3-30d3-b9af-0fc99fffbe7b"
+ }
+ ],
+ "variables": {},
+ "defaultFlowFileExpiration": "0 sec",
+ "defaultBackPressureObjectThreshold": 10000,
+ "defaultBackPressureDataSizeThreshold": "1 GB",
+ "componentType": "PROCESS_GROUP",
+ "flowFileConcurrency": "UNBOUNDED",
+ "flowFileOutboundPolicy": "STREAM_WHEN_AVAILABLE"
+ },
+ "externalControllerServices": {},
+ "parameterContexts": {},
+ "flowEncodingVersion": "1.0",
+ "parameterProviders": {},
+ "latest": false
+}
diff --git a/demos/signal-processing/DownloadAndWriteToDB.xml b/demos/signal-processing/DownloadAndWriteToDB.xml
deleted file mode 100644
index f4ddccd6..00000000
--- a/demos/signal-processing/DownloadAndWriteToDB.xml
+++ /dev/null
@@ -1,1507 +0,0 @@
-
-
-
- e6d5bf94-0187-1000-0ee7-b84ef2a3037a
- DownloadAndWriteToDB
-
-
- 1df138f7-6a8d-33f6-0000-000000000000
- 3d31a075-192a-38f3-0000-000000000000
- 1 GB
- 10000
-
- 3d31a075-192a-38f3-0000-000000000000
- 6e68cc32-20f8-3d76-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- Response
-
- 3d31a075-192a-38f3-0000-000000000000
- 4bcb7570-148b-3521-0000-000000000000
- PROCESSOR
-
- 0
-
-
- bc077070-b57b-3923-0000-000000000000
- 3d31a075-192a-38f3-0000-000000000000
- 1 GB
- 10000
-
- 3d31a075-192a-38f3-0000-000000000000
- 4d2fd50c-ff65-382a-0000-000000000000
- PROCESSOR
-
- 0 sec
- 1
- DO_NOT_COMPRESS
-
- LOAD_BALANCE_NOT_CONFIGURED
- DO_NOT_LOAD_BALANCE
-
- success
-
- 3d31a075-192a-38f3-0000-000000000000
- 6e68cc32-20f8-3d76-0000-000000000000
- PROCESSOR
-
- 0
-
-
- af0e7074-b312-3e72-0000-000000000000
- 3d31a075-192a-38f3-0000-000000000000
- WARN
-
- nifi-dbcp-service-nar
- org.apache.nifi
- 1.27.0
-
-
-
-
- Database Connection URL
-
- Database Connection URL
-
-
-
- Database Driver Class Name
-
- Database Driver Class Name
-
-
-
- database-driver-locations
-
- database-driver-locations
-
-
-
- kerberos-user-service
-
- org.apache.nifi.kerberos.KerberosUserService
- kerberos-user-service
-
-
-
- kerberos-credentials-service
-
- org.apache.nifi.kerberos.KerberosCredentialsService
- kerberos-credentials-service
-
-
-
- kerberos-principal
-
- kerberos-principal
-
-
-
- kerberos-password
-
- kerberos-password
-
-
-
- Database User
-
- Database User
-
-
-
- Password
-
- Password
-
-
-
- Max Wait Time
-
- Max Wait Time
-
-
-
- Max Total Connections
-
- Max Total Connections
-
-
-
- Validation-query
-
- Validation-query
-
-
-
- dbcp-min-idle-conns
-
- dbcp-min-idle-conns
-
-
-
- dbcp-max-idle-conns
-
- dbcp-max-idle-conns
-
-
-
- dbcp-max-conn-lifetime
-
- dbcp-max-conn-lifetime
-
-
-
- dbcp-time-between-eviction-runs
-
- dbcp-time-between-eviction-runs
-
-
-
- dbcp-min-evictable-idle-time
-
- dbcp-min-evictable-idle-time
-
-
-
- dbcp-soft-min-evictable-idle-time
-
- dbcp-soft-min-evictable-idle-time
-
-
-
- DBCPConnectionPool
- false
-
-
- Database Connection URL
- jdbc:postgresql://postgresql-timescaledb.default.svc.cluster.local:5432/tsdb
-
-
- Database Driver Class Name
- org.postgresql.Driver
-
-
- database-driver-locations
- /stackable/nifi/postgresql-42.7.5.jar
-
-
- kerberos-user-service
-
-
- kerberos-credentials-service
-
-
- kerberos-principal
-
-
- kerberos-password
-
-
- Database User
- admin
-
-
- Password
- PLACEHOLDERPGPASSWORD
-
-
- Max Wait Time
- 500 millis
-
-
- Max Total Connections
- 8
-
-
- Validation-query
- select count(*) from conditions;
-
-
- dbcp-min-idle-conns
- 0
-
-
- dbcp-max-idle-conns
- 8
-
-
- dbcp-max-conn-lifetime
- -1
-
-
- dbcp-time-between-eviction-runs
- -1
-
-
- dbcp-min-evictable-idle-time
- 30 mins
-
-
- dbcp-soft-min-evictable-idle-time
- -1
-
-
- ENABLED
- org.apache.nifi.dbcp.DBCPConnectionPool
-
-
- e6f67d2c-4c6e-3549-0000-000000000000
- 3d31a075-192a-38f3-0000-000000000000
- WARN
-
- nifi-record-serialization-services-nar
- org.apache.nifi
- 1.27.0
-
-
-
-
- schema-access-strategy
-
- schema-access-strategy
-
-
-
- schema-registry
-
-
- confluent-encoded
- schema-name
- hwx-schema-ref-attributes
- hwx-content-encoded-schema
- schema-access-strategy
-
- org.apache.nifi.schemaregistry.services.SchemaRegistry
- schema-registry
-
-
-
- schema-name
-
-
- schema-name
- schema-access-strategy
-
- schema-name
-
-
-
- schema-version
-
-
- schema-name
- schema-access-strategy
-
- schema-version
-
-
-
- schema-branch
-
-
- schema-name
- schema-access-strategy
-
- schema-branch
-
-
-
- schema-text
-
-
- schema-text-property
- schema-access-strategy
-
- schema-text
-
-
-
- csv-reader-csv-parser
-
- csv-reader-csv-parser
-
-
-
- Date Format
-
- Date Format
-
-
-
- Time Format
-
- Time Format
-
-
-
- Timestamp Format
-
- Timestamp Format
-
-
-
- CSV Format
-
- CSV Format
-
-
-
- Value Separator
-
-
- custom
- CSV Format
-
- Value Separator
-
-
-
- Record Separator
-
-
- custom
- CSV Format
-
- Record Separator
-
-
-
- Skip Header Line
-
- Skip Header Line
-
-
-
- ignore-csv-header
-
- ignore-csv-header
-
-
-
- Quote Character
-
-
- custom
- CSV Format
-
- Quote Character
-
-
-
- Escape Character
-
-
- custom
- CSV Format
-
- Escape Character
-
-
-
- Comment Marker
-
-
- custom
- CSV Format
-
- Comment Marker
-
-
-
- Null String
-
-
- custom
- CSV Format
-
- Null String
-
-
-
- Trim Fields
-
-
- custom
- CSV Format
-
- Trim Fields
-
-
-
- csvutils-character-set
-
- csvutils-character-set
-
-
-
- csvutils-allow-duplicate-header-names
-
-
- custom
- CSV Format
-
- csvutils-allow-duplicate-header-names
-
-
-
- Trim double quote
-
-
- rfc-4180
- CSV Format
-
- Trim double quote
-
-
-
- CSVReader
- false
-
-
- schema-access-strategy
- infer-schema
-
-
- schema-registry
-
-
- schema-name
- ${schema.name}
-
-
- schema-version
-
-
- schema-branch
-
-
- schema-text
- ${avro.schema}
-
-
- csv-reader-csv-parser
- commons-csv
-
-
- Date Format
-
-
- Time Format
-
-
- Timestamp Format
-
-
- CSV Format
- custom
-
-
- Value Separator
- ,
-
-
- Record Separator
- \n
-
-
- Skip Header Line
- true
-
-
- ignore-csv-header
- false
-
-
- Quote Character
- "
-
-
- Escape Character
- \
-
-
- Comment Marker
-
-
- Null String
-
-
- Trim Fields
- true
-
-
- csvutils-character-set
- UTF-8
-
-
- csvutils-allow-duplicate-header-names
- true
-
-
- Trim double quote
- true
-
-
- ENABLED
- org.apache.nifi.csv.CSVReader
-
-
- 186870f8-9fb7-3efb-0000-000000000000
- 3d31a075-192a-38f3-0000-000000000000
-
- 304.0
- 416.0
-
- 88.0
-
-
- 432.0
- 0
-
-
- 4bcb7570-148b-3521-0000-000000000000
- 3d31a075-192a-38f3-0000-000000000000
-
- 3.0
- 0.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.27.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- HTTP Method
-
- HTTP Method
-
-
-
- Remote URL
-
- Remote URL
-
-
-
- disable-http2
-
- disable-http2
-
-
-
- SSL Context Service
-
- org.apache.nifi.ssl.SSLContextService
- SSL Context Service
-
-
-
- Connection Timeout
-
- Connection Timeout
-
-
-
- Read Timeout
-
- Read Timeout
-
-
-
- idle-timeout
-
- idle-timeout
-
-
-
- max-idle-connections
-
- max-idle-connections
-
-
-
- proxy-configuration-service
-
- org.apache.nifi.proxy.ProxyConfigurationService
- proxy-configuration-service
-
-
-
- Proxy Host
-
- Proxy Host
-
-
-
- Proxy Port
-
-
-Proxy Host
-
- Proxy Port
-
-
-
- Proxy Type
-
-
-Proxy Host
-
- Proxy Type
-
-
-
- invokehttp-proxy-user
-
-
-Proxy Host
-
- invokehttp-proxy-user
-
-
-
- invokehttp-proxy-password
-
-
-Proxy Host
-
- invokehttp-proxy-password
-
-
-
- oauth2-access-token-provider
-
- org.apache.nifi.oauth2.OAuth2AccessTokenProvider
- oauth2-access-token-provider
-
-
-
- Basic Authentication Username
-
- Basic Authentication Username
-
-
-
- Basic Authentication Password
-
- Basic Authentication Password
-
-
-
- Digest Authentication
-
-
-Basic Authentication Username
-
- Digest Authentication
-
-
-
- Penalize on "No Retry"
-
- Penalize on "No Retry"
-
-
-
- send-message-body
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- send-message-body
-
-
-
- form-body-form-name
-
-
-true
-send-message-body
-
- form-body-form-name
-
-
-
- set-form-filename
-
-
-form-body-form-name
-
- set-form-filename
-
-
-
- Use Chunked Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Use Chunked Encoding
-
-
-
- Content-Encoding
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Encoding
-
-
-
- Content-Type
-
-
-POST
-PATCH
-PUT
-HTTP Method
-
- Content-Type
-
-
-
- Include Date Header
-
- Include Date Header
-
-
-
- Attributes to Send
-
- Attributes to Send
-
-
-
- Useragent
-
- Useragent
-
-
-
- Put Response Body In Attribute
-
- Put Response Body In Attribute
-
-
-
- Max Length To Put In Attribute
-
-
-Put Response Body In Attribute
-
- Max Length To Put In Attribute
-
-
-
- ignore-response-content
-
- ignore-response-content
-
-
-
- use-etag
-
- use-etag
-
-
-
- etag-max-cache-size
-
-
-true
-use-etag
-
- etag-max-cache-size
-
-
-
- cookie-strategy
-
- cookie-strategy
-
-
-
- Always Output Response
-
- Always Output Response
-
-
-
- flow-file-naming-strategy
-
- flow-file-naming-strategy
-
-
-
- Add Response Headers to Request
-
- Add Response Headers to Request
-
-
-
- Follow Redirects
-
- Follow Redirects
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- HTTP Method
- GET
-
-
- Remote URL
- https://repo.stackable.tech/repository/misc/datasets/gas-sensor-data/20160930_203718.csv
-
-
- disable-http2
- False
-
-
- SSL Context Service
-
-
- Connection Timeout
- 5 secs
-
-
- Read Timeout
- 15 secs
-
-
- idle-timeout
- 5 mins
-
-
- max-idle-connections
- 5
-
-
- proxy-configuration-service
-
-
- Proxy Host
-
-
- Proxy Port
-
-
- Proxy Type
- http
-
-
- invokehttp-proxy-user
-
-
- invokehttp-proxy-password
-
-
- oauth2-access-token-provider
-
-
- Basic Authentication Username
-
-
- Basic Authentication Password
-
-
- Digest Authentication
- false
-
-
- Penalize on "No Retry"
- false
-
-
- send-message-body
- true
-
-
- form-body-form-name
-
-
- set-form-filename
- true
-
-
- Use Chunked Encoding
- false
-
-
- Content-Encoding
- DISABLED
-
-
- Content-Type
- ${mime.type}
-
-
- Include Date Header
- True
-
-
- Attributes to Send
-
-
- Useragent
-
-
- Put Response Body In Attribute
-
-
- Max Length To Put In Attribute
- 256
-
-
- ignore-response-content
- false
-
-
- use-etag
- false
-
-
- etag-max-cache-size
- 10MB
-
-
- cookie-strategy
- DISABLED
-
-
- Always Output Response
- false
-
-
- flow-file-naming-strategy
- RANDOM
-
-
- Add Response Headers to Request
- false
-
-
- Follow Redirects
- True
-
-
- 10
- 0
- 365000 days
- TIMER_DRIVEN
- 1 sec
-
- false
- InvokeHTTP
-
- true
- Failure
- false
-
-
- true
- No Retry
- false
-
-
- true
- Original
- false
-
-
- false
- Response
- false
-
-
- true
- Retry
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.InvokeHTTP
-
-
- 4d2fd50c-ff65-382a-0000-000000000000
- 3d31a075-192a-38f3-0000-000000000000
-
- 0.0
- 544.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.27.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- JDBC Connection Pool
-
- org.apache.nifi.dbcp.DBCPService
- JDBC Connection Pool
-
-
-
- putsql-sql-statement
-
- putsql-sql-statement
-
-
-
- Support Fragmented Transactions
-
- Support Fragmented Transactions
-
-
-
- database-session-autocommit
-
- database-session-autocommit
-
-
-
- Transaction Timeout
-
- Transaction Timeout
-
-
-
- Batch Size
-
- Batch Size
-
-
-
- Obtain Generated Keys
-
- Obtain Generated Keys
-
-
-
- rollback-on-failure
-
- rollback-on-failure
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- JDBC Connection Pool
- af0e7074-b312-3e72-0000-000000000000
-
-
- putsql-sql-statement
- insert into conditions
-select now() + timesecs * interval '1 second'
-, timesecs
-, coppm
-, humidity
-, temperature
-, flowrate
-, heatervoltage
-, r1
-, r2
-, r3
-, r4
-, r5
-, r6
-, r7
-, r8
-, r9
-, r10
-, r11
-, r12
-, r13
-, r14
-from conditions_temp;
-
-
- Support Fragmented Transactions
- false
-
-
- database-session-autocommit
- true
-
-
- Transaction Timeout
-
-
- Batch Size
- 100
-
-
- Obtain Generated Keys
- false
-
-
- rollback-on-failure
- false
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- Update hypertable
-
- true
- failure
- false
-
-
- true
- retry
- false
-
-
- true
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.PutSQL
-
-
- 6e68cc32-20f8-3d76-0000-000000000000
- 3d31a075-192a-38f3-0000-000000000000
-
- 0.0
- 256.0
-
-
- nifi-standard-nar
- org.apache.nifi
- 1.27.0
-
-
- PENALIZE_FLOWFILE
- WARN
-
- 1
-
-
- put-db-record-record-reader
-
- org.apache.nifi.serialization.RecordReaderFactory
- put-db-record-record-reader
-
-
-
- db-type
-
- db-type
-
-
-
- put-db-record-statement-type
-
- put-db-record-statement-type
-
-
-
- Statement Type Record Path
-
-
-Use Record Path
-put-db-record-statement-type
-
- Statement Type Record Path
-
-
-
- Data Record Path
-
- Data Record Path
-
-
-
- put-db-record-dcbp-service
-
- org.apache.nifi.dbcp.DBCPService
- put-db-record-dcbp-service
-
-
-
- put-db-record-catalog-name
-
- put-db-record-catalog-name
-
-
-
- put-db-record-schema-name
-
- put-db-record-schema-name
-
-
-
- put-db-record-table-name
-
- put-db-record-table-name
-
-
-
- put-db-record-translate-field-names
-
- put-db-record-translate-field-names
-
-
-
- put-db-record-unmatched-field-behavior
-
- put-db-record-unmatched-field-behavior
-
-
-
- put-db-record-unmatched-column-behavior
-
- put-db-record-unmatched-column-behavior
-
-
-
- put-db-record-update-keys
-
-
-Use statement.type Attribute
-Use Record Path
-UPSERT
-UPDATE
-SQL
-put-db-record-statement-type
-
- put-db-record-update-keys
-
-
-
- put-db-record-field-containing-sql
-
-
-Use statement.type Attribute
-Use Record Path
-put-db-record-statement-type
-
- put-db-record-field-containing-sql
-
-
-
- put-db-record-allow-multiple-statements
-
-
-Use statement.type Attribute
-Use Record Path
-put-db-record-statement-type
-
- put-db-record-allow-multiple-statements
-
-
-
- put-db-record-quoted-identifiers
-
- put-db-record-quoted-identifiers
-
-
-
- put-db-record-quoted-table-identifiers
-
- put-db-record-quoted-table-identifiers
-
-
-
- put-db-record-query-timeout
-
- put-db-record-query-timeout
-
-
-
- rollback-on-failure
-
- rollback-on-failure
-
-
-
- table-schema-cache-size
-
- table-schema-cache-size
-
-
-
- put-db-record-max-batch-size
-
-
-Use statement.type Attribute
-Use Record Path
-INSERT
-UPDATE
-put-db-record-statement-type
-
- put-db-record-max-batch-size
-
-
-
- ALL
- false
- 10 mins
- 30 sec
-
-
- put-db-record-record-reader
- e6f67d2c-4c6e-3549-0000-000000000000
-
-
- db-type
- PostgreSQL
-
-
- put-db-record-statement-type
- INSERT
-
-
- Statement Type Record Path
-
-
- Data Record Path
-
-
- put-db-record-dcbp-service
- af0e7074-b312-3e72-0000-000000000000
-
-
- put-db-record-catalog-name
- tsdb
-
-
- put-db-record-schema-name
- public
-
-
- put-db-record-table-name
- conditions_temp
-
-
- put-db-record-translate-field-names
- true
-
-
- put-db-record-unmatched-field-behavior
- Ignore Unmatched Fields
-
-
- put-db-record-unmatched-column-behavior
- Fail on Unmatched Columns
-
-
- put-db-record-update-keys
-
-
- put-db-record-field-containing-sql
-
-
- put-db-record-allow-multiple-statements
- false
-
-
- put-db-record-quoted-identifiers
- false
-
-
- put-db-record-quoted-table-identifiers
- false
-
-
- put-db-record-query-timeout
- 0 seconds
-
-
- rollback-on-failure
- false
-
-
- table-schema-cache-size
- 100
-
-
- put-db-record-max-batch-size
- 0
-
-
- 10
- 0
- 0 sec
- TIMER_DRIVEN
- 1 sec
-
- false
- PutDatabaseRecord
-
- true
- failure
- false
-
-
- true
- retry
- false
-
-
- false
- success
- false
-
- RUNNING
-
- org.apache.nifi.processors.standard.PutDatabaseRecord
-
-
- 05/04/2023 13:30:52 UTC
-
diff --git a/demos/signal-processing/create-nifi-ingestion-job.yaml b/demos/signal-processing/create-nifi-ingestion-job.yaml
index 8f9790fd..1a858678 100644
--- a/demos/signal-processing/create-nifi-ingestion-job.yaml
+++ b/demos/signal-processing/create-nifi-ingestion-job.yaml
@@ -34,11 +34,7 @@ spec:
- -euo
- pipefail
- -c
- - |
- export PGPASSWORD=$(cat /timescale-admin-credentials/password)
- curl -O https://raw.githubusercontent.com/stackabletech/demos/main/demos/signal-processing/DownloadAndWriteToDB.xml
- sed -i "s/PLACEHOLDERPGPASSWORD/$PGPASSWORD/g" DownloadAndWriteToDB.xml
- python -u /tmp/script/script.py
+ - python -u /tmp/script/script.py
volumeMounts:
- name: script
mountPath: /tmp/script
@@ -70,9 +66,8 @@ metadata:
name: create-nifi-ingestion-job-script
data:
script.py: |
- from nipyapi.canvas import get_root_pg_id, schedule_process_group, list_all_controllers, schedule_controller
+ from nipyapi.canvas import get_root_pg_id, schedule_process_group, list_all_controllers, schedule_controller, update_controller
from nipyapi.security import service_login
- from nipyapi.templates import get_template, upload_template, deploy_template
import nipyapi
import os
import urllib3
@@ -81,8 +76,6 @@ data:
ENDPOINT = f"https://nifi-node-default-0.nifi-node-default.{os.environ['NAMESPACE']}.svc.cluster.local:8443" # For local testing / developing replace it, afterwards change back to f"https://nifi-node-default-0.nifi-node-default.{os.environ['NAMESPACE']}.svc.cluster.local:8443"
USERNAME = "admin"
PASSWORD = open("/nifi-admin-credentials/admin").read()
- TEMPLATE_NAME = "DownloadAndWriteToDB"
- TEMPLATE_FILE = f"{TEMPLATE_NAME}.xml"
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
@@ -93,16 +86,66 @@ data:
service_login(username=USERNAME, password=PASSWORD)
print("Logged in")
+ organization = "stackabletech"
+ repository = "demos"
+ branch = "main"
+ version = "main"
+ directory = "demos/signal-processing"
+ flow_name = "DownloadAndWriteToDB"
+
+ # Register the flow registry client
+ response = nipyapi.nifi.ControllerApi().create_flow_registry_client(
+ body={
+ "revision": {"version": 0},
+ "component": {
+ "name": "GitHubFlowRegistryClient",
+ "type": "org.apache.nifi.github.GitHubFlowRegistryClient",
+ "properties": {
+ "Repository Owner": organization,
+ "Repository Name": repository,
+ },
+ "bundle": {
+ "group": "org.apache.nifi",
+ "artifact": "nifi-github-nar",
+ "version": "2.2.0",
+ },
+ },
+ }
+ )
+
pg_id = get_root_pg_id()
print(f"pgid={pg_id}")
- upload_template(pg_id, TEMPLATE_FILE)
+ try:
+ # Create process group from the file in the Git repo
+ nipyapi.nifi.ProcessGroupsApi().create_process_group(
+ id=pg_id,
+ body={
+ "revision": {"version": 0},
+ "component": {
+ "position": {"x": 300, "y": 10},
+ "versionControlInformation": {
+ "registryId": response.component.id,
+ "flowId": flow_name,
+ "bucketId": directory,
+ "branch": branch,
+ "version": version,
+ },
+ },
+ },
+ )
+ except ValueError as e:
+ # Ignore, because nipyapi can't handle non-int versions yet
+ if "invalid literal for int() with base 10" in str(e):
+ print("Ignoring ValueError")
+ else:
+ raise e
- template_id = get_template(TEMPLATE_NAME).id
- deploy_template(pg_id, template_id, 200, 0)
-
- for controller in list_all_controllers():
+ # Update the controller services with the correct password
+ for controller in list_all_controllers(pg_id):
+ if "Database User" in controller.component.properties:
+ controller.component.properties["Password"] = open("/timescale-admin-credentials/password").read()
+ controller = update_controller(controller, controller.component)
schedule_controller(controller, scheduled=True)
-
schedule_process_group(pg_id, scheduled=True)
diff --git a/stacks/data-lakehouse-iceberg-trino-spark/nifi.yaml b/stacks/data-lakehouse-iceberg-trino-spark/nifi.yaml
index 1ea8a69d..bae55688 100644
--- a/stacks/data-lakehouse-iceberg-trino-spark/nifi.yaml
+++ b/stacks/data-lakehouse-iceberg-trino-spark/nifi.yaml
@@ -5,7 +5,7 @@ metadata:
name: nifi
spec:
image:
- productVersion: 1.28.1
+ productVersion: 2.2.0
clusterConfig:
authentication:
- authenticationClass: nifi-admin-credentials
diff --git a/stacks/nifi-kafka-druid-superset-s3/nifi.yaml b/stacks/nifi-kafka-druid-superset-s3/nifi.yaml
index 3736dd8e..225fce94 100644
--- a/stacks/nifi-kafka-druid-superset-s3/nifi.yaml
+++ b/stacks/nifi-kafka-druid-superset-s3/nifi.yaml
@@ -5,7 +5,7 @@ metadata:
name: nifi
spec:
image:
- productVersion: 1.28.1
+ productVersion: 2.2.0
clusterConfig:
authentication:
- authenticationClass: nifi-admin-credentials
diff --git a/stacks/signal-processing/nifi.yaml b/stacks/signal-processing/nifi.yaml
index 3af838e7..62231374 100644
--- a/stacks/signal-processing/nifi.yaml
+++ b/stacks/signal-processing/nifi.yaml
@@ -5,11 +5,10 @@ metadata:
name: nifi
spec:
image:
- productVersion: 1.28.1
+ productVersion: 2.2.0
# TODO (@NickLarsenNZ): Use a versioned image with stackable0.0.0-dev or stackableXX.X.X so that
# the demo is reproducable for the release and it will be automatically replaced for the release branch.
- # custom: oci.stackable.tech/stackable/nifi:2.2.0-postgresql
- custom: oci.stackable.tech/stackable/nifi:1.28.1-postgresql
+ custom: oci.stackable.tech/stackable/nifi:2.2.0-postgresql
# pullPolicy: IfNotPresent
clusterConfig:
listenerClass: external-unstable