Last active
June 10, 2017 22:02
-
-
Save Chaffelson/9134de6da521755e8863d4ab8864f784 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" ?> | |
<template encoding-version="1.1"> | |
<description></description> | |
<groupId>7c84501d-d10c-407c-b9f3-1d80e38fe36a</groupId> | |
<name>NiFiSamTemplate</name> | |
<snippet> | |
<controllerServices> | |
<id>e49634e5-fbf3-35b0-0000-000000000000</id> | |
<parentGroupId>46f95fe5-3024-31d8-0000-000000000000</parentGroupId> | |
<bundle> | |
<artifact>nifi-record-serialization-services-nar</artifact> | |
<group>org.apache.nifi</group> | |
<version>1.2.0.3.0.0.0-453</version> | |
</bundle> | |
<comments></comments> | |
<descriptors> | |
<entry> | |
<key>schema-access-strategy</key> | |
<value> | |
<name>schema-access-strategy</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-registry</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.schemaregistry.services.SchemaRegistry</identifiesControllerService> | |
<name>schema-registry</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-name</key> | |
<value> | |
<name>schema-name</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-text</key> | |
<value> | |
<name>schema-text</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Date Format</key> | |
<value> | |
<name>Date Format</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Time Format</key> | |
<value> | |
<name>Time Format</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Timestamp Format</key> | |
<value> | |
<name>Timestamp Format</name> | |
</value> | |
</entry> | |
<entry> | |
<key>CSV Format</key> | |
<value> | |
<name>CSV Format</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Value Separator</key> | |
<value> | |
<name>Value Separator</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Skip Header Line</key> | |
<value> | |
<name>Skip Header Line</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Quote Character</key> | |
<value> | |
<name>Quote Character</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Escape Character</key> | |
<value> | |
<name>Escape Character</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Comment Marker</key> | |
<value> | |
<name>Comment Marker</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Null String</key> | |
<value> | |
<name>Null String</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Trim Fields</key> | |
<value> | |
<name>Trim Fields</name> | |
</value> | |
</entry> | |
</descriptors> | |
<name>CSV Truck Events</name> | |
<persistsState>false</persistsState> | |
<properties> | |
<entry> | |
<key>schema-access-strategy</key> | |
<value>schema-name</value> | |
</entry> | |
<entry> | |
<key>schema-registry</key> | |
<value>4ff4ace2-6769-356d-0000-000000000000</value> | |
</entry> | |
<entry> | |
<key>schema-name</key> | |
<value>${schema.name}</value> | |
</entry> | |
<entry> | |
<key>schema-text</key> | |
<value>${avro.schema}</value> | |
</entry> | |
<entry> | |
<key>Date Format</key> | |
</entry> | |
<entry> | |
<key>Time Format</key> | |
</entry> | |
<entry> | |
<key>Timestamp Format</key> | |
</entry> | |
<entry> | |
<key>CSV Format</key> | |
<value>custom</value> | |
</entry> | |
<entry> | |
<key>Value Separator</key> | |
<value>|</value> | |
</entry> | |
<entry> | |
<key>Skip Header Line</key> | |
<value>false</value> | |
</entry> | |
<entry> | |
<key>Quote Character</key> | |
<value>"</value> | |
</entry> | |
<entry> | |
<key>Escape Character</key> | |
<value>\</value> | |
</entry> | |
<entry> | |
<key>Comment Marker</key> | |
</entry> | |
<entry> | |
<key>Null String</key> | |
</entry> | |
<entry> | |
<key>Trim Fields</key> | |
<value>true</value> | |
</entry> | |
</properties> | |
<state>DISABLED</state> | |
<type>org.apache.nifi.csv.CSVReader</type> | |
</controllerServices> | |
<controllerServices> | |
<id>eef2cad0-8cbd-3963-0000-000000000000</id> | |
<parentGroupId>46f95fe5-3024-31d8-0000-000000000000</parentGroupId> | |
<bundle> | |
<artifact>nifi-record-serialization-services-nar</artifact> | |
<group>org.apache.nifi</group> | |
<version>1.2.0.3.0.0.0-453</version> | |
</bundle> | |
<comments></comments> | |
<descriptors> | |
<entry> | |
<key>schema-access-strategy</key> | |
<value> | |
<name>schema-access-strategy</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-registry</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.schemaregistry.services.SchemaRegistry</identifiesControllerService> | |
<name>schema-registry</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-name</key> | |
<value> | |
<name>schema-name</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-text</key> | |
<value> | |
<name>schema-text</name> | |
</value> | |
</entry> | |
</descriptors> | |
<name>Avro Truck Events</name> | |
<persistsState>false</persistsState> | |
<properties> | |
<entry> | |
<key>schema-access-strategy</key> | |
<value>hwx-content-encoded-schema</value> | |
</entry> | |
<entry> | |
<key>schema-registry</key> | |
<value>4ff4ace2-6769-356d-0000-000000000000</value> | |
</entry> | |
<entry> | |
<key>schema-name</key> | |
<value>${schema.name}</value> | |
</entry> | |
<entry> | |
<key>schema-text</key> | |
<value>${avro.schema}</value> | |
</entry> | |
</properties> | |
<state>DISABLED</state> | |
<type>org.apache.nifi.avro.AvroReader</type> | |
</controllerServices> | |
<controllerServices> | |
<id>41eacf9b-4fdd-3e50-0000-000000000000</id> | |
<parentGroupId>46f95fe5-3024-31d8-0000-000000000000</parentGroupId> | |
<bundle> | |
<artifact>nifi-record-serialization-services-nar</artifact> | |
<group>org.apache.nifi</group> | |
<version>1.2.0.3.0.0.0-453</version> | |
</bundle> | |
<comments></comments> | |
<descriptors> | |
<entry> | |
<key>Schema Write Strategy</key> | |
<value> | |
<name>Schema Write Strategy</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-access-strategy</key> | |
<value> | |
<name>schema-access-strategy</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-registry</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.schemaregistry.services.SchemaRegistry</identifiesControllerService> | |
<name>schema-registry</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-name</key> | |
<value> | |
<name>schema-name</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-text</key> | |
<value> | |
<name>schema-text</name> | |
</value> | |
</entry> | |
</descriptors> | |
<name>AvroRecordSetWriter-Read-Schema-From-HWX-Via-Schema-Name</name> | |
<persistsState>false</persistsState> | |
<properties> | |
<entry> | |
<key>Schema Write Strategy</key> | |
<value>hwx-content-encoded-schema</value> | |
</entry> | |
<entry> | |
<key>schema-access-strategy</key> | |
<value>schema-name</value> | |
</entry> | |
<entry> | |
<key>schema-registry</key> | |
<value>4ff4ace2-6769-356d-0000-000000000000</value> | |
</entry> | |
<entry> | |
<key>schema-name</key> | |
<value>${schema.name}</value> | |
</entry> | |
<entry> | |
<key>schema-text</key> | |
<value>${avro.schema}</value> | |
</entry> | |
</properties> | |
<state>DISABLED</state> | |
<type>org.apache.nifi.avro.AvroRecordSetWriter</type> | |
</controllerServices> | |
<controllerServices> | |
<id>4ea0919f-6226-3763-0000-000000000000</id> | |
<parentGroupId>46f95fe5-3024-31d8-0000-000000000000</parentGroupId> | |
<bundle> | |
<artifact>nifi-record-serialization-services-nar</artifact> | |
<group>org.apache.nifi</group> | |
<version>1.2.0.3.0.0.0-453</version> | |
</bundle> | |
<comments></comments> | |
<descriptors> | |
<entry> | |
<key>Schema Write Strategy</key> | |
<value> | |
<name>Schema Write Strategy</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-access-strategy</key> | |
<value> | |
<name>schema-access-strategy</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-registry</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.schemaregistry.services.SchemaRegistry</identifiesControllerService> | |
<name>schema-registry</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-name</key> | |
<value> | |
<name>schema-name</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema-text</key> | |
<value> | |
<name>schema-text</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Date Format</key> | |
<value> | |
<name>Date Format</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Time Format</key> | |
<value> | |
<name>Time Format</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Timestamp Format</key> | |
<value> | |
<name>Timestamp Format</name> | |
</value> | |
</entry> | |
<entry> | |
<key>CSV Format</key> | |
<value> | |
<name>CSV Format</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Value Separator</key> | |
<value> | |
<name>Value Separator</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Include Header Line</key> | |
<value> | |
<name>Include Header Line</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Quote Character</key> | |
<value> | |
<name>Quote Character</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Escape Character</key> | |
<value> | |
<name>Escape Character</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Comment Marker</key> | |
<value> | |
<name>Comment Marker</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Null String</key> | |
<value> | |
<name>Null String</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Trim Fields</key> | |
<value> | |
<name>Trim Fields</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Quote Mode</key> | |
<value> | |
<name>Quote Mode</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Record Separator</key> | |
<value> | |
<name>Record Separator</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Include Trailing Delimiter</key> | |
<value> | |
<name>Include Trailing Delimiter</name> | |
</value> | |
</entry> | |
</descriptors> | |
<name>CSVRecordSetWriter-Read-Schema-From-HWX-Embedded</name> | |
<persistsState>false</persistsState> | |
<properties> | |
<entry> | |
<key>Schema Write Strategy</key> | |
<value>hwx-schema-ref-attributes</value> | |
</entry> | |
<entry> | |
<key>schema-access-strategy</key> | |
<value>hwx-content-encoded-schema</value> | |
</entry> | |
<entry> | |
<key>schema-registry</key> | |
<value>4ff4ace2-6769-356d-0000-000000000000</value> | |
</entry> | |
<entry> | |
<key>schema-name</key> | |
<value>${schema.name}</value> | |
</entry> | |
<entry> | |
<key>schema-text</key> | |
<value>${avro.schema}</value> | |
</entry> | |
<entry> | |
<key>Date Format</key> | |
</entry> | |
<entry> | |
<key>Time Format</key> | |
</entry> | |
<entry> | |
<key>Timestamp Format</key> | |
</entry> | |
<entry> | |
<key>CSV Format</key> | |
<value>custom</value> | |
</entry> | |
<entry> | |
<key>Value Separator</key> | |
<value>|</value> | |
</entry> | |
<entry> | |
<key>Include Header Line</key> | |
<value>false</value> | |
</entry> | |
<entry> | |
<key>Quote Character</key> | |
<value>"</value> | |
</entry> | |
<entry> | |
<key>Escape Character</key> | |
<value>\</value> | |
</entry> | |
<entry> | |
<key>Comment Marker</key> | |
</entry> | |
<entry> | |
<key>Null String</key> | |
</entry> | |
<entry> | |
<key>Trim Fields</key> | |
<value>true</value> | |
</entry> | |
<entry> | |
<key>Quote Mode</key> | |
<value>MINIMAL</value> | |
</entry> | |
<entry> | |
<key>Record Separator</key> | |
<value>\n</value> | |
</entry> | |
<entry> | |
<key>Include Trailing Delimiter</key> | |
<value>true</value> | |
</entry> | |
</properties> | |
<state>DISABLED</state> | |
<type>org.apache.nifi.csv.CSVRecordSetWriter</type> | |
</controllerServices> | |
<controllerServices> | |
<id>4ff4ace2-6769-356d-0000-000000000000</id> | |
<parentGroupId>46f95fe5-3024-31d8-0000-000000000000</parentGroupId> | |
<bundle> | |
<artifact>nifi-hwx-schema-registry-nar</artifact> | |
<group>org.apache.nifi</group> | |
<version>1.2.0.3.0.0.0-453</version> | |
</bundle> | |
<comments></comments> | |
<descriptors> | |
<entry> | |
<key>url</key> | |
<value> | |
<name>url</name> | |
</value> | |
</entry> | |
<entry> | |
<key>cache-size</key> | |
<value> | |
<name>cache-size</name> | |
</value> | |
</entry> | |
<entry> | |
<key>cache-expiration</key> | |
<value> | |
<name>cache-expiration</name> | |
</value> | |
</entry> | |
</descriptors> | |
<name>HWX Schema Registry</name> | |
<persistsState>false</persistsState> | |
<properties> | |
<entry> | |
<key>url</key> | |
<value>http://sandbox.hortonworks.com:7788/api/v1</value> | |
</entry> | |
<entry> | |
<key>cache-size</key> | |
<value>1000</value> | |
</entry> | |
<entry> | |
<key>cache-expiration</key> | |
<value>1 hour</value> | |
</entry> | |
</properties> | |
<state>DISABLED</state> | |
<type>org.apache.nifi.schemaregistry.hortonworks.HortonworksSchemaRegistry</type> | |
</controllerServices> | |
<processGroups> | |
<id>2da8d12c-7d0b-32d9-0000-000000000000</id> | |
<parentGroupId>46f95fe5-3024-31d8-0000-000000000000</parentGroupId> | |
<position> | |
<x>0.0</x> | |
<y>0.0</y> | |
</position> | |
<comments></comments> | |
<contents> | |
<connections> | |
<id>b29fd165-27c6-31c2-0000-000000000000</id> | |
<parentGroupId>2da8d12c-7d0b-32d9-0000-000000000000</parentGroupId> | |
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold> | |
<backPressureObjectThreshold>10000</backPressureObjectThreshold> | |
<destination> | |
<groupId>2da8d12c-7d0b-32d9-0000-000000000000</groupId> | |
<id>3f690f8b-172a-324f-0000-000000000000</id> | |
<type>PROCESSOR</type> | |
</destination> | |
<flowFileExpiration>0 sec</flowFileExpiration> | |
<labelIndex>1</labelIndex> | |
<name></name> | |
<selectedRelationships>success</selectedRelationships> | |
<source> | |
<groupId>2da8d12c-7d0b-32d9-0000-000000000000</groupId> | |
<id>35cf4f16-d307-30b5-0000-000000000000</id> | |
<type>PROCESSOR</type> | |
</source> | |
<zIndex>0</zIndex> | |
</connections> | |
<connections> | |
<id>c94455b3-fb0c-358d-0000-000000000000</id> | |
<parentGroupId>2da8d12c-7d0b-32d9-0000-000000000000</parentGroupId> | |
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold> | |
<backPressureObjectThreshold>10000</backPressureObjectThreshold> | |
<destination> | |
<groupId>2da8d12c-7d0b-32d9-0000-000000000000</groupId> | |
<id>37a9a372-3e60-3a8a-0000-000000000000</id> | |
<type>PROCESSOR</type> | |
</destination> | |
<flowFileExpiration>0 sec</flowFileExpiration> | |
<labelIndex>1</labelIndex> | |
<name></name> | |
<selectedRelationships>success</selectedRelationships> | |
<source> | |
<groupId>2da8d12c-7d0b-32d9-0000-000000000000</groupId> | |
<id>b08aed4c-f820-32be-0000-000000000000</id> | |
<type>PROCESSOR</type> | |
</source> | |
<zIndex>0</zIndex> | |
</connections> | |
<connections> | |
<id>125be755-ab2c-3cb9-0000-000000000000</id> | |
<parentGroupId>2da8d12c-7d0b-32d9-0000-000000000000</parentGroupId> | |
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold> | |
<backPressureObjectThreshold>10000</backPressureObjectThreshold> | |
<destination> | |
<groupId>2da8d12c-7d0b-32d9-0000-000000000000</groupId> | |
<id>b08aed4c-f820-32be-0000-000000000000</id> | |
<type>PROCESSOR</type> | |
</destination> | |
<flowFileExpiration>0 sec</flowFileExpiration> | |
<labelIndex>1</labelIndex> | |
<name></name> | |
<source> | |
<groupId>0ea01cbc-fe26-3889-0000-000000000000</groupId> | |
<id>cae6c171-80f0-3355-0000-000000000000</id> | |
<type>OUTPUT_PORT</type> | |
</source> | |
<zIndex>0</zIndex> | |
</connections> | |
<connections> | |
<id>5f625e81-71f3-30e2-0000-000000000000</id> | |
<parentGroupId>2da8d12c-7d0b-32d9-0000-000000000000</parentGroupId> | |
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold> | |
<backPressureObjectThreshold>10000</backPressureObjectThreshold> | |
<destination> | |
<groupId>2da8d12c-7d0b-32d9-0000-000000000000</groupId> | |
<id>35cf4f16-d307-30b5-0000-000000000000</id> | |
<type>PROCESSOR</type> | |
</destination> | |
<flowFileExpiration>0 sec</flowFileExpiration> | |
<labelIndex>1</labelIndex> | |
<name></name> | |
<source> | |
<groupId>0ea01cbc-fe26-3889-0000-000000000000</groupId> | |
<id>7a496010-02de-39f3-0000-000000000000</id> | |
<type>OUTPUT_PORT</type> | |
</source> | |
<zIndex>0</zIndex> | |
</connections> | |
<connections> | |
<id>7a7b140f-fbf0-31e0-0000-000000000000</id> | |
<parentGroupId>2da8d12c-7d0b-32d9-0000-000000000000</parentGroupId> | |
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold> | |
<backPressureObjectThreshold>10000</backPressureObjectThreshold> | |
<destination> | |
<groupId>2da8d12c-7d0b-32d9-0000-000000000000</groupId> | |
<id>37a9a372-3e60-3a8a-0000-000000000000</id> | |
<type>PROCESSOR</type> | |
</destination> | |
<flowFileExpiration>0 sec</flowFileExpiration> | |
<labelIndex>1</labelIndex> | |
<name></name> | |
<selectedRelationships>success</selectedRelationships> | |
<source> | |
<groupId>2da8d12c-7d0b-32d9-0000-000000000000</groupId> | |
<id>3f690f8b-172a-324f-0000-000000000000</id> | |
<type>PROCESSOR</type> | |
</source> | |
<zIndex>0</zIndex> | |
</connections> | |
<processGroups> | |
<id>0ea01cbc-fe26-3889-0000-000000000000</id> | |
<parentGroupId>2da8d12c-7d0b-32d9-0000-000000000000</parentGroupId> | |
<position> | |
<x>892.6595677961609</x> | |
<y>274.0010076537387</y> | |
</position> | |
<comments></comments> | |
<contents> | |
<connections> | |
<id>a553f079-1e0d-3160-0000-000000000000</id> | |
<parentGroupId>0ea01cbc-fe26-3889-0000-000000000000</parentGroupId> | |
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold> | |
<backPressureObjectThreshold>10000</backPressureObjectThreshold> | |
<destination> | |
<groupId>0ea01cbc-fe26-3889-0000-000000000000</groupId> | |
<id>7a496010-02de-39f3-0000-000000000000</id> | |
<type>OUTPUT_PORT</type> | |
</destination> | |
<flowFileExpiration>0 sec</flowFileExpiration> | |
<labelIndex>1</labelIndex> | |
<name></name> | |
<selectedRelationships>success</selectedRelationships> | |
<source> | |
<groupId>0ea01cbc-fe26-3889-0000-000000000000</groupId> | |
<id>b1b8df40-f8b4-3774-0000-000000000000</id> | |
<type>PROCESSOR</type> | |
</source> | |
<zIndex>0</zIndex> | |
</connections> | |
<connections> | |
<id>09635f1b-9430-3dd1-0000-000000000000</id> | |
<parentGroupId>0ea01cbc-fe26-3889-0000-000000000000</parentGroupId> | |
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold> | |
<backPressureObjectThreshold>10000</backPressureObjectThreshold> | |
<destination> | |
<groupId>0ea01cbc-fe26-3889-0000-000000000000</groupId> | |
<id>cae6c171-80f0-3355-0000-000000000000</id> | |
<type>OUTPUT_PORT</type> | |
</destination> | |
<flowFileExpiration>0 sec</flowFileExpiration> | |
<labelIndex>1</labelIndex> | |
<name></name> | |
<selectedRelationships>success</selectedRelationships> | |
<source> | |
<groupId>0ea01cbc-fe26-3889-0000-000000000000</groupId> | |
<id>0b150d1c-ec91-3f28-0000-000000000000</id> | |
<type>PROCESSOR</type> | |
</source> | |
<zIndex>0</zIndex> | |
</connections> | |
<outputPorts> | |
<id>cae6c171-80f0-3355-0000-000000000000</id> | |
<parentGroupId>0ea01cbc-fe26-3889-0000-000000000000</parentGroupId> | |
<position> | |
<x>907.7151873479033</x> | |
<y>911.8526619634938</y> | |
</position> | |
<comments></comments> | |
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount> | |
<name>Truck Speed Events</name> | |
<state>STOPPED</state> | |
<type>OUTPUT_PORT</type> | |
</outputPorts> | |
<outputPorts> | |
<id>7a496010-02de-39f3-0000-000000000000</id> | |
<parentGroupId>0ea01cbc-fe26-3889-0000-000000000000</parentGroupId> | |
<position> | |
<x>490.72727230884084</x> | |
<y>908.2175911627126</y> | |
</position> | |
<comments></comments> | |
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount> | |
<name>Truck Geo Events</name> | |
<state>STOPPED</state> | |
<type>OUTPUT_PORT</type> | |
</outputPorts> | |
<processors> | |
<id>b1b8df40-f8b4-3774-0000-000000000000</id> | |
<parentGroupId>0ea01cbc-fe26-3889-0000-000000000000</parentGroupId> | |
<position> | |
<x>440.0856325779114</x> | |
<y>653.1126486728845</y> | |
</position> | |
<bundle> | |
<artifact>nifi-kafka-0-10-nar</artifact> | |
<group>org.apache.nifi</group> | |
<version>1.2.0.3.0.0.0-453</version> | |
</bundle> | |
<config> | |
<bulletinLevel>WARN</bulletinLevel> | |
<comments></comments> | |
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount> | |
<descriptors> | |
<entry> | |
<key>bootstrap.servers</key> | |
<value> | |
<name>bootstrap.servers</name> | |
</value> | |
</entry> | |
<entry> | |
<key>topic</key> | |
<value> | |
<name>topic</name> | |
</value> | |
</entry> | |
<entry> | |
<key>topic_type</key> | |
<value> | |
<name>topic_type</name> | |
</value> | |
</entry> | |
<entry> | |
<key>record-reader</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.serialization.RecordReaderFactory</identifiesControllerService> | |
<name>record-reader</name> | |
</value> | |
</entry> | |
<entry> | |
<key>record-writer</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.serialization.RecordSetWriterFactory</identifiesControllerService> | |
<name>record-writer</name> | |
</value> | |
</entry> | |
<entry> | |
<key>security.protocol</key> | |
<value> | |
<name>security.protocol</name> | |
</value> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.service.name</key> | |
<value> | |
<name>sasl.kerberos.service.name</name> | |
</value> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.principal</key> | |
<value> | |
<name>sasl.kerberos.principal</name> | |
</value> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.keytab</key> | |
<value> | |
<name>sasl.kerberos.keytab</name> | |
</value> | |
</entry> | |
<entry> | |
<key>ssl.context.service</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.ssl.SSLContextService</identifiesControllerService> | |
<name>ssl.context.service</name> | |
</value> | |
</entry> | |
<entry> | |
<key>group.id</key> | |
<value> | |
<name>group.id</name> | |
</value> | |
</entry> | |
<entry> | |
<key>auto.offset.reset</key> | |
<value> | |
<name>auto.offset.reset</name> | |
</value> | |
</entry> | |
<entry> | |
<key>max.poll.records</key> | |
<value> | |
<name>max.poll.records</name> | |
</value> | |
</entry> | |
<entry> | |
<key>max-uncommit-offset-wait</key> | |
<value> | |
<name>max-uncommit-offset-wait</name> | |
</value> | |
</entry> | |
</descriptors> | |
<executionNode>ALL</executionNode> | |
<lossTolerant>false</lossTolerant> | |
<penaltyDuration>30 sec</penaltyDuration> | |
<properties> | |
<entry> | |
<key>bootstrap.servers</key> | |
<value>sandbox.hortonworks.com:6667</value> | |
</entry> | |
<entry> | |
<key>topic</key> | |
<value>raw-truck_events_avro</value> | |
</entry> | |
<entry> | |
<key>topic_type</key> | |
<value>names</value> | |
</entry> | |
<entry> | |
<key>record-reader</key> | |
<value>eef2cad0-8cbd-3963-0000-000000000000</value> | |
</entry> | |
<entry> | |
<key>record-writer</key> | |
<value>4ea0919f-6226-3763-0000-000000000000</value> | |
</entry> | |
<entry> | |
<key>security.protocol</key> | |
<value>PLAINTEXT</value> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.service.name</key> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.principal</key> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.keytab</key> | |
</entry> | |
<entry> | |
<key>ssl.context.service</key> | |
</entry> | |
<entry> | |
<key>group.id</key> | |
<value>1</value> | |
</entry> | |
<entry> | |
<key>auto.offset.reset</key> | |
<value>latest</value> | |
</entry> | |
<entry> | |
<key>max.poll.records</key> | |
<value>10000</value> | |
</entry> | |
<entry> | |
<key>max-uncommit-offset-wait</key> | |
<value>1 secs</value> | |
</entry> | |
</properties> | |
<runDurationMillis>0</runDurationMillis> | |
<schedulingPeriod>0 sec</schedulingPeriod> | |
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy> | |
<yieldDuration>1 sec</yieldDuration> | |
</config> | |
<name>Truck Geo Kafka Stream</name> | |
<relationships> | |
<autoTerminate>true</autoTerminate> | |
<name>parse.failure</name> | |
</relationships> | |
<relationships> | |
<autoTerminate>false</autoTerminate> | |
<name>success</name> | |
</relationships> | |
<style></style> | |
<type>org.apache.nifi.processors.kafka.pubsub.ConsumeKafkaRecord_0_10</type> | |
</processors> | |
<processors> | |
<id>0b150d1c-ec91-3f28-0000-000000000000</id> | |
<parentGroupId>0ea01cbc-fe26-3889-0000-000000000000</parentGroupId> | |
<position> | |
<x>844.0467531833801</x> | |
<y>654.1467673252282</y> | |
</position> | |
<bundle> | |
<artifact>nifi-kafka-0-10-nar</artifact> | |
<group>org.apache.nifi</group> | |
<version>1.2.0.3.0.0.0-453</version> | |
</bundle> | |
<config> | |
<bulletinLevel>WARN</bulletinLevel> | |
<comments></comments> | |
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount> | |
<descriptors> | |
<entry> | |
<key>bootstrap.servers</key> | |
<value> | |
<name>bootstrap.servers</name> | |
</value> | |
</entry> | |
<entry> | |
<key>topic</key> | |
<value> | |
<name>topic</name> | |
</value> | |
</entry> | |
<entry> | |
<key>topic_type</key> | |
<value> | |
<name>topic_type</name> | |
</value> | |
</entry> | |
<entry> | |
<key>record-reader</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.serialization.RecordReaderFactory</identifiesControllerService> | |
<name>record-reader</name> | |
</value> | |
</entry> | |
<entry> | |
<key>record-writer</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.serialization.RecordSetWriterFactory</identifiesControllerService> | |
<name>record-writer</name> | |
</value> | |
</entry> | |
<entry> | |
<key>security.protocol</key> | |
<value> | |
<name>security.protocol</name> | |
</value> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.service.name</key> | |
<value> | |
<name>sasl.kerberos.service.name</name> | |
</value> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.principal</key> | |
<value> | |
<name>sasl.kerberos.principal</name> | |
</value> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.keytab</key> | |
<value> | |
<name>sasl.kerberos.keytab</name> | |
</value> | |
</entry> | |
<entry> | |
<key>ssl.context.service</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.ssl.SSLContextService</identifiesControllerService> | |
<name>ssl.context.service</name> | |
</value> | |
</entry> | |
<entry> | |
<key>group.id</key> | |
<value> | |
<name>group.id</name> | |
</value> | |
</entry> | |
<entry> | |
<key>auto.offset.reset</key> | |
<value> | |
<name>auto.offset.reset</name> | |
</value> | |
</entry> | |
<entry> | |
<key>max.poll.records</key> | |
<value> | |
<name>max.poll.records</name> | |
</value> | |
</entry> | |
<entry> | |
<key>max-uncommit-offset-wait</key> | |
<value> | |
<name>max-uncommit-offset-wait</name> | |
</value> | |
</entry> | |
</descriptors> | |
<executionNode>ALL</executionNode> | |
<lossTolerant>false</lossTolerant> | |
<penaltyDuration>30 sec</penaltyDuration> | |
<properties> | |
<entry> | |
<key>bootstrap.servers</key> | |
<value>sandbox.hortonworks.com:6667</value> | |
</entry> | |
<entry> | |
<key>topic</key> | |
<value>raw-truck_speed_events_avro</value> | |
</entry> | |
<entry> | |
<key>topic_type</key> | |
<value>names</value> | |
</entry> | |
<entry> | |
<key>record-reader</key> | |
<value>eef2cad0-8cbd-3963-0000-000000000000</value> | |
</entry> | |
<entry> | |
<key>record-writer</key> | |
<value>4ea0919f-6226-3763-0000-000000000000</value> | |
</entry> | |
<entry> | |
<key>security.protocol</key> | |
<value>PLAINTEXT</value> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.service.name</key> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.principal</key> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.keytab</key> | |
</entry> | |
<entry> | |
<key>ssl.context.service</key> | |
</entry> | |
<entry> | |
<key>group.id</key> | |
<value>1</value> | |
</entry> | |
<entry> | |
<key>auto.offset.reset</key> | |
<value>latest</value> | |
</entry> | |
<entry> | |
<key>max.poll.records</key> | |
<value>10000</value> | |
</entry> | |
<entry> | |
<key>max-uncommit-offset-wait</key> | |
<value>1 secs</value> | |
</entry> | |
</properties> | |
<runDurationMillis>0</runDurationMillis> | |
<schedulingPeriod>0 sec</schedulingPeriod> | |
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy> | |
<yieldDuration>1 sec</yieldDuration> | |
</config> | |
<name>Truck Speed Kafka Stream</name> | |
<relationships> | |
<autoTerminate>true</autoTerminate> | |
<name>parse.failure</name> | |
</relationships> | |
<relationships> | |
<autoTerminate>false</autoTerminate> | |
<name>success</name> | |
</relationships> | |
<style></style> | |
<type>org.apache.nifi.processors.kafka.pubsub.ConsumeKafkaRecord_0_10</type> | |
</processors> | |
</contents> | |
<name>Acquire Events</name> | |
</processGroups> | |
<processors> | |
<id>b08aed4c-f820-32be-0000-000000000000</id> | |
<parentGroupId>2da8d12c-7d0b-32d9-0000-000000000000</parentGroupId> | |
<position> | |
<x>1145.8907857649033</x> | |
<y>710.8879825131966</y> | |
</position> | |
<bundle> | |
<artifact>nifi-update-attribute-nar</artifact> | |
<group>org.apache.nifi</group> | |
<version>1.2.0.3.0.0.0-453</version> | |
</bundle> | |
<config> | |
<bulletinLevel>WARN</bulletinLevel> | |
<comments></comments> | |
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount> | |
<descriptors> | |
<entry> | |
<key>Delete Attributes Expression</key> | |
<value> | |
<name>Delete Attributes Expression</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Store State</key> | |
<value> | |
<name>Store State</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Stateful Variables Initial Value</key> | |
<value> | |
<name>Stateful Variables Initial Value</name> | |
</value> | |
</entry> | |
<entry> | |
<key>kafka.topic</key> | |
<value> | |
<name>kafka.topic</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema.name</key> | |
<value> | |
<name>schema.name</name> | |
</value> | |
</entry> | |
</descriptors> | |
<executionNode>ALL</executionNode> | |
<lossTolerant>false</lossTolerant> | |
<penaltyDuration>30 sec</penaltyDuration> | |
<properties> | |
<entry> | |
<key>Delete Attributes Expression</key> | |
</entry> | |
<entry> | |
<key>Store State</key> | |
<value>Do not store state</value> | |
</entry> | |
<entry> | |
<key>Stateful Variables Initial Value</key> | |
</entry> | |
<entry> | |
<key>kafka.topic</key> | |
<value>truck_speed_events_avro</value> | |
</entry> | |
<entry> | |
<key>schema.name</key> | |
<value>truck_speed_events_avro</value> | |
</entry> | |
</properties> | |
<runDurationMillis>0</runDurationMillis> | |
<schedulingPeriod>0 sec</schedulingPeriod> | |
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy> | |
<yieldDuration>1 sec</yieldDuration> | |
</config> | |
<name>Specify Schema and Destination</name> | |
<relationships> | |
<autoTerminate>false</autoTerminate> | |
<name>success</name> | |
</relationships> | |
<style></style> | |
<type>org.apache.nifi.processors.attributes.UpdateAttribute</type> | |
</processors> | |
<processors> | |
<id>35cf4f16-d307-30b5-0000-000000000000</id> | |
<parentGroupId>2da8d12c-7d0b-32d9-0000-000000000000</parentGroupId> | |
<position> | |
<x>665.3000934047266</x> | |
<y>517.9509798486299</y> | |
</position> | |
<bundle> | |
<artifact>nifi-scripting-nar</artifact> | |
<group>org.apache.nifi</group> | |
<version>1.2.0.3.0.0.0-453</version> | |
</bundle> | |
<config> | |
<bulletinLevel>WARN</bulletinLevel> | |
<comments></comments> | |
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount> | |
<descriptors> | |
<entry> | |
<key>Script Engine</key> | |
<value> | |
<name>Script Engine</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Script File</key> | |
<value> | |
<name>Script File</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Script Body</key> | |
<value> | |
<name>Script Body</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Module Directory</key> | |
<value> | |
<name>Module Directory</name> | |
</value> | |
</entry> | |
</descriptors> | |
<executionNode>ALL</executionNode> | |
<lossTolerant>false</lossTolerant> | |
<penaltyDuration>30 sec</penaltyDuration> | |
<properties> | |
<entry> | |
<key>Script Engine</key> | |
<value>Groovy</value> | |
</entry> | |
<entry> | |
<key>Script File</key> | |
</entry> | |
<entry> | |
<key>Script Body</key> | |
<value>import java.nio.charset.StandardCharsets | |
def flowFile = session.get() | |
if(!flowFile) return | |
lat = flowFile.getAttribute('latitudeForGeoCodeEnrichment') | |
lng = flowFile.getAttribute('longitudeForGeoCodeEnrichment') | |
flowFile = session.write(flowFile, {inputStream, outputStream -> | |
inputStream.eachLine { line -> | |
fmt_addr = "2106 Morton Ave, Des Moines, IA 50317, USA\n" | |
outputStream.write("$line$fmt_addr".toString().getBytes(StandardCharsets.UTF_8)) | |
} | |
} as StreamCallback) | |
session.transfer(flowFile, REL_SUCCESS)</value> | |
</entry> | |
<entry> | |
<key>Module Directory</key> | |
</entry> | |
</properties> | |
<runDurationMillis>0</runDurationMillis> | |
<schedulingPeriod>0 sec</schedulingPeriod> | |
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy> | |
<yieldDuration>1 sec</yieldDuration> | |
</config> | |
<name>GeoCode Enrichment</name> | |
<relationships> | |
<autoTerminate>true</autoTerminate> | |
<name>failure</name> | |
</relationships> | |
<relationships> | |
<autoTerminate>false</autoTerminate> | |
<name>success</name> | |
</relationships> | |
<style></style> | |
<type>org.apache.nifi.processors.script.ExecuteScript</type> | |
</processors> | |
<processors> | |
<id>37a9a372-3e60-3a8a-0000-000000000000</id> | |
<parentGroupId>2da8d12c-7d0b-32d9-0000-000000000000</parentGroupId> | |
<position> | |
<x>909.1922793677413</x> | |
<y>950.0607574216406</y> | |
</position> | |
<bundle> | |
<artifact>nifi-kafka-0-10-nar</artifact> | |
<group>org.apache.nifi</group> | |
<version>1.2.0.3.0.0.0-453</version> | |
</bundle> | |
<config> | |
<bulletinLevel>WARN</bulletinLevel> | |
<comments></comments> | |
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount> | |
<descriptors> | |
<entry> | |
<key>bootstrap.servers</key> | |
<value> | |
<name>bootstrap.servers</name> | |
</value> | |
</entry> | |
<entry> | |
<key>topic</key> | |
<value> | |
<name>topic</name> | |
</value> | |
</entry> | |
<entry> | |
<key>record-reader</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.serialization.RecordReaderFactory</identifiesControllerService> | |
<name>record-reader</name> | |
</value> | |
</entry> | |
<entry> | |
<key>record-writer</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.serialization.RecordSetWriterFactory</identifiesControllerService> | |
<name>record-writer</name> | |
</value> | |
</entry> | |
<entry> | |
<key>security.protocol</key> | |
<value> | |
<name>security.protocol</name> | |
</value> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.service.name</key> | |
<value> | |
<name>sasl.kerberos.service.name</name> | |
</value> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.principal</key> | |
<value> | |
<name>sasl.kerberos.principal</name> | |
</value> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.keytab</key> | |
<value> | |
<name>sasl.kerberos.keytab</name> | |
</value> | |
</entry> | |
<entry> | |
<key>ssl.context.service</key> | |
<value> | |
<identifiesControllerService>org.apache.nifi.ssl.SSLContextService</identifiesControllerService> | |
<name>ssl.context.service</name> | |
</value> | |
</entry> | |
<entry> | |
<key>acks</key> | |
<value> | |
<name>acks</name> | |
</value> | |
</entry> | |
<entry> | |
<key>message-key-field</key> | |
<value> | |
<name>message-key-field</name> | |
</value> | |
</entry> | |
<entry> | |
<key>max.request.size</key> | |
<value> | |
<name>max.request.size</name> | |
</value> | |
</entry> | |
<entry> | |
<key>ack.wait.time</key> | |
<value> | |
<name>ack.wait.time</name> | |
</value> | |
</entry> | |
<entry> | |
<key>max.block.ms</key> | |
<value> | |
<name>max.block.ms</name> | |
</value> | |
</entry> | |
<entry> | |
<key>partitioner.class</key> | |
<value> | |
<name>partitioner.class</name> | |
</value> | |
</entry> | |
<entry> | |
<key>compression.type</key> | |
<value> | |
<name>compression.type</name> | |
</value> | |
</entry> | |
</descriptors> | |
<executionNode>ALL</executionNode> | |
<lossTolerant>false</lossTolerant> | |
<penaltyDuration>30 sec</penaltyDuration> | |
<properties> | |
<entry> | |
<key>bootstrap.servers</key> | |
<value>sandbox.hortonworks.com:6667</value> | |
</entry> | |
<entry> | |
<key>topic</key> | |
<value>${kafka.topic}</value> | |
</entry> | |
<entry> | |
<key>record-reader</key> | |
<value>e49634e5-fbf3-35b0-0000-000000000000</value> | |
</entry> | |
<entry> | |
<key>record-writer</key> | |
<value>41eacf9b-4fdd-3e50-0000-000000000000</value> | |
</entry> | |
<entry> | |
<key>security.protocol</key> | |
<value>PLAINTEXT</value> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.service.name</key> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.principal</key> | |
</entry> | |
<entry> | |
<key>sasl.kerberos.keytab</key> | |
</entry> | |
<entry> | |
<key>ssl.context.service</key> | |
</entry> | |
<entry> | |
<key>acks</key> | |
<value>0</value> | |
</entry> | |
<entry> | |
<key>message-key-field</key> | |
</entry> | |
<entry> | |
<key>max.request.size</key> | |
<value>1 MB</value> | |
</entry> | |
<entry> | |
<key>ack.wait.time</key> | |
<value>5 secs</value> | |
</entry> | |
<entry> | |
<key>max.block.ms</key> | |
<value>5 sec</value> | |
</entry> | |
<entry> | |
<key>partitioner.class</key> | |
<value>org.apache.kafka.clients.producer.internals.DefaultPartitioner</value> | |
</entry> | |
<entry> | |
<key>compression.type</key> | |
<value>none</value> | |
</entry> | |
</properties> | |
<runDurationMillis>0</runDurationMillis> | |
<schedulingPeriod>0 sec</schedulingPeriod> | |
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy> | |
<yieldDuration>1 sec</yieldDuration> | |
</config> | |
<name>Publish Events to Truck Stream Topics</name> | |
<relationships> | |
<autoTerminate>true</autoTerminate> | |
<name>failure</name> | |
</relationships> | |
<relationships> | |
<autoTerminate>true</autoTerminate> | |
<name>success</name> | |
</relationships> | |
<style></style> | |
<type>org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_0_10</type> | |
</processors> | |
<processors> | |
<id>3f690f8b-172a-324f-0000-000000000000</id> | |
<parentGroupId>2da8d12c-7d0b-32d9-0000-000000000000</parentGroupId> | |
<position> | |
<x>665.8958818317703</x> | |
<y>722.3622010260376</y> | |
</position> | |
<bundle> | |
<artifact>nifi-update-attribute-nar</artifact> | |
<group>org.apache.nifi</group> | |
<version>1.2.0.3.0.0.0-453</version> | |
</bundle> | |
<config> | |
<bulletinLevel>WARN</bulletinLevel> | |
<comments></comments> | |
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount> | |
<descriptors> | |
<entry> | |
<key>Delete Attributes Expression</key> | |
<value> | |
<name>Delete Attributes Expression</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Store State</key> | |
<value> | |
<name>Store State</name> | |
</value> | |
</entry> | |
<entry> | |
<key>Stateful Variables Initial Value</key> | |
<value> | |
<name>Stateful Variables Initial Value</name> | |
</value> | |
</entry> | |
<entry> | |
<key>kafka.topic</key> | |
<value> | |
<name>kafka.topic</name> | |
</value> | |
</entry> | |
<entry> | |
<key>schema.name</key> | |
<value> | |
<name>schema.name</name> | |
</value> | |
</entry> | |
</descriptors> | |
<executionNode>ALL</executionNode> | |
<lossTolerant>false</lossTolerant> | |
<penaltyDuration>30 sec</penaltyDuration> | |
<properties> | |
<entry> | |
<key>Delete Attributes Expression</key> | |
</entry> | |
<entry> | |
<key>Store State</key> | |
<value>Do not store state</value> | |
</entry> | |
<entry> | |
<key>Stateful Variables Initial Value</key> | |
</entry> | |
<entry> | |
<key>kafka.topic</key> | |
<value>truck_events_avro</value> | |
</entry> | |
<entry> | |
<key>schema.name</key> | |
<value>truck_events_avro</value> | |
</entry> | |
</properties> | |
<runDurationMillis>0</runDurationMillis> | |
<schedulingPeriod>0 sec</schedulingPeriod> | |
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy> | |
<yieldDuration>1 sec</yieldDuration> | |
</config> | |
<name>Specify Schema and Destination</name> | |
<relationships> | |
<autoTerminate>false</autoTerminate> | |
<name>success</name> | |
</relationships> | |
<style></style> | |
<type>org.apache.nifi.processors.attributes.UpdateAttribute</type> | |
</processors> | |
</contents> | |
<name>Use Case 1</name> | |
</processGroups> | |
</snippet> | |
<timestamp>06/10/2017 22:01:33 UTC</timestamp> | |
</template> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment