@Tags({"hadoop", "hbase"}) @CapabilityDescription("Adds the Contents of a FlowFile to HBase as the value of a single cell") @SystemResourceConsideration(resource = SystemResource.MEMORY) public class PutHBaseCell extends AbstractPutHBase {
private void writeSystemResourceConsideration(final SystemResourceConsideration consideration) throws IOException { writeStartElement("consideration"); writeTextElement("resource", consideration.resource() == null ? null : consideration.resource().name()); writeTextElement("description", consideration.description()); writeEndElement(); }
@CapabilityDescription("Sends the contents of a FlowFile to a Windows Azure Event Hub. Note: the content of the FlowFile will be buffered into memory before being sent, " + "so care should be taken to avoid sending FlowFiles to this Processor that exceed the amount of Java Heap Space available.") @SystemResourceConsideration(resource = SystemResource.MEMORY) public class PutAzureEventHub extends AbstractProcessor { static final PropertyDescriptor EVENT_HUB_NAME = new PropertyDescriptor.Builder()
/** * Writes all the system resource considerations for this component * * @param configurableComponent the component to describe * @param xmlStreamWriter the xml stream writer to use * @throws XMLStreamException thrown if there was a problem writing the XML */ private void writeSystemResourceConsiderationInfo(ConfigurableComponent configurableComponent, XMLStreamWriter xmlStreamWriter) throws XMLStreamException { SystemResourceConsideration[] systemResourceConsiderations = configurableComponent.getClass().getAnnotationsByType(SystemResourceConsideration.class); writeSimpleElement(xmlStreamWriter, "h3", "System Resource Considerations:"); if (systemResourceConsiderations.length > 0) { xmlStreamWriter.writeStartElement("table"); xmlStreamWriter.writeAttribute("id", "system-resource-considerations"); xmlStreamWriter.writeStartElement("tr"); writeSimpleElement(xmlStreamWriter, "th", "Resource"); writeSimpleElement(xmlStreamWriter, "th", "Description"); xmlStreamWriter.writeEndElement(); for (SystemResourceConsideration systemResourceConsideration : systemResourceConsiderations) { xmlStreamWriter.writeStartElement("tr"); writeSimpleElement(xmlStreamWriter, "td", systemResourceConsideration.resource().name()); writeSimpleElement(xmlStreamWriter, "td", systemResourceConsideration.description().trim().isEmpty() ? "Not Specified" : systemResourceConsideration.description()); xmlStreamWriter.writeEndElement(); } xmlStreamWriter.writeEndElement(); } else { xmlStreamWriter.writeCharacters("None specified."); } }
@InputRequirement(Requirement.INPUT_REQUIRED) @CapabilityDescription("Writes the contents of a FlowFile to MongoDB") @SystemResourceConsideration(resource = SystemResource.MEMORY) public class PutMongo extends AbstractMongoProcessor { static final Relationship REL_SUCCESS = new Relationship.Builder().name("success")
@InputRequirement(Requirement.INPUT_REQUIRED) @CapabilityDescription("Sends an e-mail to configured recipients for each incoming FlowFile") @SystemResourceConsideration(resource = SystemResource.MEMORY, description = "The entirety of the FlowFile's content (as a String object) " + "will be read into memory in case the property to use the flow file content as the email body is set to true.") public class PutEmail extends AbstractProcessor {
@CapabilityDescription("Publishes a message to an MQTT topic") @SeeAlso({ConsumeMQTT.class}) @SystemResourceConsideration(resource = SystemResource.MEMORY) public class PublishMQTT extends AbstractMQTTProcessor implements MqttCallback {
+ "and/or secure transport (SSL/TLS) and the Shield plugin is available, secure connections can be made. This processor " + "supports Elasticsearch 2.x clusters.") @SystemResourceConsideration(resource = SystemResource.MEMORY) public class PutElasticsearch extends AbstractElasticsearchTransportClientProcessor {
+ "supports Elasticsearch 5.x clusters.") @SeeAlso({FetchElasticsearch5.class,PutElasticsearch5.class}) @SystemResourceConsideration(resource = SystemResource.MEMORY) public class PutElasticsearch5 extends AbstractElasticsearch5TransportClientProcessor {
+ " type of the cql.args.1.value parameter is specified by the cql.args.1.type attribute.") }) @SystemResourceConsideration(resource = SystemResource.MEMORY) public class PutCassandraQL extends AbstractCassandraProcessor {
expressionLanguageScope = ExpressionLanguageScope.VARIABLE_REGISTRY, description = "Adds the specified property name/value as a query parameter in the Elasticsearch URL used for processing") @SystemResourceConsideration(resource = SystemResource.MEMORY) public class PutElasticsearchHttp extends AbstractElasticsearchHttpProcessor {
@Tags({"encryption", "decryption", "password", "JCE", "OpenPGP", "PGP", "GPG"}) @CapabilityDescription("Encrypts or Decrypts a FlowFile using either symmetric encryption with a password and randomly generated salt, or asymmetric encryption using a public and secret key.") @SystemResourceConsideration(resource = SystemResource.CPU) public class EncryptContent extends AbstractProcessor {
@CapabilityDescription("Updates the content of a FlowFile by evaluating a Regular Expression (regex) against it and replacing the section of " + "the content that matches the Regular Expression with some alternate value.") @SystemResourceConsideration(resource = SystemResource.MEMORY) public class ReplaceText extends AbstractProcessor {
@WritesAttribute(attribute = "mime.type", description = "If the Mode property is set to compress, the appropriate MIME Type is set. If the Mode " + "property is set to decompress and the file is successfully decompressed, this attribute is removed, as the MIME Type is no longer known.") @SystemResourceConsideration(resource = SystemResource.CPU) public class CompressContent extends AbstractProcessor {
@WritesAttribute(attribute = "couchbase.exception", description = "If Couchbase related error occurs the CouchbaseException class name will be captured here.") }) @SystemResourceConsideration(resource = SystemResource.MEMORY) public class GetCouchbaseKey extends AbstractCouchbaseProcessor {
@WritesAttribute(attribute = "couchbase.exception", description = "If Couchbase related error occurs the CouchbaseException class name will be captured here.") }) @SystemResourceConsideration(resource = SystemResource.MEMORY) public class PutCouchbaseKey extends AbstractCouchbaseProcessor {
@WritesAttribute(attribute = "segment.original.filename ", description = "The filename of the parent FlowFile") }) @SystemResourceConsideration(resource = SystemResource.MEMORY) public class SplitAvro extends AbstractProcessor {
@WritesAttribute(attribute = "segment.original.filename ", description = "The filename of the parent FlowFile") }) @SystemResourceConsideration(resource = SystemResource.MEMORY, description = "The entirety of the FlowFile's content (as a JsonNode object) is read into memory, " + "in addition to all of the generated FlowFiles representing the split JSON. If many splits are generated due to the size of the JSON, or how the JSON is " + "configured to be split, a two-phase approach may be necessary to avoid excessive use of memory.")
@WritesAttribute(attribute = ATTR_WS_FAILURE_DETAIL, description = "Detail of the failure."), }) @SystemResourceConsideration(resource = SystemResource.MEMORY) public class PutWebSocket extends AbstractProcessor {
@WritesAttribute(attribute = "segment.original.filename ", description = "The filename of the parent FlowFile") }) @SystemResourceConsideration(resource = SystemResource.MEMORY, description = "The entirety of the FlowFile's content (as a Document object) is read into memory, " + "in addition to all of the generated FlowFiles representing the split XML. A Document object can take approximately 10 times as much memory as the size of " + "the XML. For example, a 1 MB XML document may use 10 MB of memory. If many splits are generated due to the size of the XML, a two-phase approach may be " +