Skip to content

Instantly share code, notes, and snippets.

@pvillard31
Created September 22, 2022 08:26
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pvillard31/5f91b5ffe786efa9790b21780f9bc6f4 to your computer and use it in GitHub Desktop.
Save pvillard31/5f91b5ffe786efa9790b21780f9bc6f4 to your computer and use it in GitHub Desktop.
NiFi_Function_Quickstart-definition.json
{
"FunctionName": "NiFi_Function_Quickstart",
"Description": "NiFi Function that uses the AWS S3 Lambda trigger to move telemetry data from landing zone S3 folder into processed S3 folder",
"Timeout": 300,
"MemorySize": 4096,
"Environment": {
"Variables": {
"DF_ACCESS_KEY": "<<REPLACE>>",
"DF_PRIVATE_KEY": "<<REPLACE>>",
"FLOW_CRN": "<<REPLACE>>",
"aws_access_key_id": "<<REPLACE>>",
"aws_access_key_password": "<<REPLACE>>",
"s3_bucket": "<<REPLACE>>",
"s3_region": "<<REPLACE>>",
"routing_rule_geo_event": "SELECT * FROM FLOWFILE where eventSource = 'truck_geo_event'",
"routing_rule_speed_event": "SELECT * FROM FLOWFILE where eventSource = 'truck_speed_event'",
"s3_dest_path_geo_event": "truck-telemetry-processed/truck-geo-events",
"s3_dest_path_speed_event": "truck-telemetry-processed/truck-speed-events",
"filter_rule_speed_event": "SELECT * FROM FLOWFILE where speed > 40",
"telemetry_geo_schema": "{\"type\":\"record\",\"namespace\":\"cloudera.cdf.csp.schema.refapp.trucking\",\"name\":\"TruckGeoEventEnriched\",\"fields\":[{\"name\":\"eventTime\",\"type\":\"string\"},{\"name\":\"eventTimeLong\",\"type\":\"long\",\"default\":0},{\"name\":\"eventSource\",\"type\":\"string\"},{\"name\":\"truckId\",\"type\":\"int\"},{\"name\":\"driverId\",\"type\":\"int\"},{\"name\":\"driverName\",\"type\":\"string\"},{\"name\":\"routeId\",\"type\":\"int\"},{\"name\":\"route\",\"type\":\"string\"},{\"name\":\"eventType\",\"type\":\"string\"},{\"name\":\"latitude\",\"type\":\"double\"},{\"name\":\"longitude\",\"type\":\"double\"},{\"name\":\"correlationId\",\"type\":\"long\"},{\"name\":\"geoAddress\",\"type\":\"string\",\"default\":\"None\"}]}",
"telemetry_raw_schema":"{\"type\":\"record\",\"namespace\":\"cloudera.cdf.csp.schema.refapp.trucking\",\"name\":\"TruckEvent\",\"fields\":[{\"name\":\"eventTime\",\"type\":\"string\"},{\"name\":\"eventTimeLong\",\"type\":\"long\",\"default\":0},{\"name\":\"eventSource\",\"type\":\"string\"},{\"name\":\"truckId\",\"type\":\"int\"},{\"name\":\"driverId\",\"type\":\"int\"},{\"name\":\"driverName\",\"type\":\"string\"},{\"name\":\"routeId\",\"type\":\"int\"},{\"name\":\"route\",\"type\":\"string\"},{\"name\":\"eventType\",\"type\":\"string\"},{\"name\":\"latitude\",\"type\":\"double\"},{\"name\":\"longitude\",\"type\":\"double\"},{\"name\":\"correlationId\",\"type\":\"long\"},{\"name\":\"speed\",\"type\":\"int\",\"default\":0}]}",
"telemetry_speed_schema":"{\"type\":\"record\",\"namespace\":\"cloudera.cdf.csp.schema.refapp.trucking\",\"name\":\"TruckSpeedEventEnriched\",\"fields\":[{\"name\":\"eventTime\",\"type\":\"string\"},{\"name\":\"eventTimeLong\",\"type\":\"long\",\"default\":0},{\"name\":\"eventSource\",\"type\":\"string\"},{\"name\":\"truckId\",\"type\":\"int\"},{\"name\":\"driverId\",\"type\":\"int\"},{\"name\":\"driverName\",\"type\":\"string\"},{\"name\":\"routeId\",\"type\":\"int\"},{\"name\":\"route\",\"type\":\"string\"},{\"name\":\"speed\",\"type\":\"int\"}]}",
"NEXUS_URL": "https://maven-central.storage-download.googleapis.com/maven2"
}
},
"Tags": {
"owner": "df_function_quickstart"
},
"EphemeralStorage": {
"Size": 5096
},
"Runtime": "java8.al2",
"Handler": "com.cloudera.naaf.aws.lambda.StatelessNiFiFunctionHandler::handleRequest",
"Publish": false,
"PackageType": "Zip",
"Architectures": [
"x86_64"
],
"Code": {
"S3Bucket": "<<REPLACE>>",
"S3Key": "<<REPLACE>>"
},
"Role": "<<REPLACE>>"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment