<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-nar</artifactId><version>1.27.0</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></parentNar><systemApiVersion>1.27.0</systemApiVersion><buildInfo><tag>nifi-1.27.0-RC2</tag><branch>UNKNOWN</branch><revision>e0c4461</revision></buildInfo><extensions><extension><name>org.apache.nifi.processors.azure.cosmos.document.PutAzureCosmosDBRecord</name><type>PROCESSOR</type><description>This processor is a record-aware processor for inserting data into Cosmos DB with Core SQL API. It uses a configured record reader and schema to read an incoming record set from the body of a Flowfile and then inserts those records into a configured Cosmos DB Container.</description><tags><tag>azure</tag><tag>cosmos</tag><tag>insert</tag><tag>record</tag><tag>put</tag></tags><properties><property><name>azure-cosmos-db-connection-service</name><displayName>Cosmos DB Connection Service</displayName><description>If configured, the controller service used to obtain the connection string and access key</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.cosmos.AzureCosmosDBConnectionService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>azure-cosmos-db-uri</name><displayName>Cosmos DB URI</displayName><description>Cosmos DB URI, typically in the form of https://{databaseaccount}.documents.azure.com:443/ Note this host URL is for Cosmos DB with Core SQL API from Azure Portal (Overview-&gt;URI)</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>azure-cosmos-db-key</name><displayName>Cosmos DB Access Key</displayName><description>Cosmos DB Access Key from Azure Portal (Settings-&gt;Keys). Choose a read-write key to enable database or container creation at run time</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>azure-cosmos-db-consistency-level</name><displayName>Cosmos DB Consistency Level</displayName><description>Choose from five consistency levels on the consistency spectrum. Refer to Cosmos DB documentation for their differences</description><defaultValue>SESSION</defaultValue><allowableValues><allowableValue><displayName>STRONG</displayName><value>STRONG</value><description></description></allowableValue><allowableValue><displayName>BOUNDED_STALENESS</displayName><value>BOUNDED_STALENESS</value><description></description></allowableValue><allowableValue><displayName>SESSION</displayName><value>SESSION</value><description></description></allowableValue><allowableValue><displayName>CONSISTENT_PREFIX</displayName><value>CONSISTENT_PREFIX</value><description></description></allowableValue><allowableValue><displayName>EVENTUAL</displayName><value>EVENTUAL</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>azure-cosmos-db-name</name><displayName>Cosmos DB Name</displayName><description>The database name or id. This is used as the namespace for document collections or containers</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>azure-cosmos-db-container-id</name><displayName>Cosmos DB Container ID</displayName><description>The unique identifier for the container</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>azure-cosmos-db-partition-key</name><displayName>Cosmos DB Partition Key</displayName><description>The partition key used to distribute data among servers</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>record-reader</name><displayName>Record Reader</displayName><description>Specifies the Controller Service to use for parsing incoming data and determining the data's schema</description><controllerServiceDefinition><className>org.apache.nifi.serialization.RecordReaderFactory</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>insert-batch-size</name><displayName>Insert Batch Size</displayName><description>The number of records to group together for one single insert operation against Cosmos DB</description><defaultValue>20</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>azure-cosmos-db-conflict-handling-strategy</name><displayName>Cosmos DB Conflict Handling Strategy</displayName><description>Choose whether to ignore or upsert when conflict error occurs during insertion</description><defaultValue>IGNORE</defaultValue><allowableValues><allowableValue><displayName>Ignore</displayName><value>IGNORE</value><description>Conflicting records will not be inserted, and FlowFile will not be routed to failure</description></allowableValue><allowableValue><displayName>Upsert</displayName><value>UPSERT</value><description>Conflicting records will be upserted, and FlowFile will not be routed to failure</description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All FlowFiles that are written to Cosmos DB are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>All FlowFiles that cannot be written to Cosmos DB are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes></writesAttributes><eventDriven>true</eventDriven><inputRequirement>INPUT_REQUIRED</inputRequirement><systemResourceConsiderations><systemResourceConsideration><resource>MEMORY</resource><description>An instance of this component can cause high usage of this system resource.  Multiple instances or high concurrency settings may result a degradation of performance.</description></systemResourceConsideration></systemResourceConsiderations></extension><extension><name>org.apache.nifi.processors.azure.eventhub.ConsumeAzureEventHub</name><type>PROCESSOR</type><description>Receives messages from Microsoft Azure Event Hubs with checkpointing to ensure consistent event processing. Checkpoint tracking avoids consuming a message multiple times and enables reliable resumption of processing in the event of intermittent network failures. Checkpoint tracking requires external storage and provides the preferred approach to consuming messages from Azure Event Hubs. In clustered environment, ConsumeAzureEventHub processor instances form a consumer group and the messages are distributed among the cluster nodes (each message is processed on one cluster node only).</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>eventhub</tag><tag>events</tag><tag>streaming</tag><tag>streams</tag></tags><properties><property><name>event-hub-namespace</name><displayName>Event Hub Namespace</displayName><description>The namespace that the Azure Event Hubs is assigned to. This is generally equal to &lt;Event Hub Names&gt;-ns.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>event-hub-name</name><displayName>Event Hub Name</displayName><description>The name of the event hub to pull messages from.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Service Bus Endpoint</name><displayName>Service Bus Endpoint</displayName><description>To support namespaces not in the default windows.net domain.</description><defaultValue>.servicebus.windows.net</defaultValue><allowableValues><allowableValue><displayName>Azure</displayName><value>.servicebus.windows.net</value><description>Servicebus endpoint for general use</description></allowableValue><allowableValue><displayName>Azure China</displayName><value>.servicebus.chinacloudapi.cn</value><description>Servicebus endpoint for China</description></allowableValue><allowableValue><displayName>Azure Germany</displayName><value>.servicebus.cloudapi.de</value><description>Servicebus endpoint for Germany</description></allowableValue><allowableValue><displayName>Azure US Government</displayName><value>.servicebus.usgovcloudapi.net</value><description>Servicebus endpoint for US Government</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Transport Type</name><displayName>Transport Type</displayName><description>Advanced Message Queuing Protocol Transport Type for communication with Azure Event Hubs</description><defaultValue>Amqp</defaultValue><allowableValues><allowableValue><displayName>AMQP</displayName><value>Amqp</value><description>AMQP over TCP on ports 5671 and 5672</description></allowableValue><allowableValue><displayName>AMQP_WEB_SOCKETS</displayName><value>AmqpWebSockets</value><description>AMQP over HTTPS with WebSockets on port 443</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>event-hub-shared-access-policy-name</name><displayName>Shared Access Policy Name</displayName><description>The name of the shared access policy. This policy must have Listen claims.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>event-hub-shared-access-policy-primary-key</name><displayName>Shared Access Policy Key</displayName><description>The key of the shared access policy. Either the primary or the secondary key can be used.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>use-managed-identity</name><displayName>Use Azure Managed Identity</displayName><description>Choose whether or not to use the managed identity of Azure VM/VMSS</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>event-hub-consumer-group</name><displayName>Consumer Group</displayName><description>The name of the consumer group to use.</description><defaultValue>$Default</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>event-hub-consumer-hostname</name><displayName>Consumer Hostname</displayName><description>DEPRECATED: This property is no longer used.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>record-reader</name><displayName>Record Reader</displayName><description>The Record Reader to use for reading received messages. The event hub name can be referred by Expression Language '${eventhub.name}' to access a schema.</description><controllerServiceDefinition><className>org.apache.nifi.serialization.RecordReaderFactory</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>record-writer</name><displayName>Record Writer</displayName><description>The Record Writer to use for serializing Records to an output FlowFile. The event hub name can be referred by Expression Language '${eventhub.name}' to access a schema. If not specified, each message will create a FlowFile.</description><controllerServiceDefinition><className>org.apache.nifi.serialization.RecordSetWriterFactory</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>event-hub-initial-offset</name><displayName>Initial Offset</displayName><description>Specify where to start receiving messages if offset is not yet stored in the checkpoint store.</description><defaultValue>end-of-stream</defaultValue><allowableValues><allowableValue><displayName>Start of stream</displayName><value>start-of-stream</value><description>Read from the oldest message retained in the stream.</description></allowableValue><allowableValue><displayName>End of stream</displayName><value>end-of-stream</value><description>Ignore old retained messages even if exist, start reading new ones from now.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>event-hub-prefetch-count</name><displayName>Prefetch Count</displayName><description></description><defaultValue>300</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>event-hub-batch-size</name><displayName>Batch Size</displayName><description>The number of messages to process within a NiFi session. This parameter affects throughput and consistency. NiFi commits its session and Event Hubs checkpoints after processing this number of messages. If NiFi session is committed, but fails to create an Event Hubs checkpoint, then it is possible that the same messages will be received again. The higher number, the higher throughput, but possibly less consistent.</description><defaultValue>10</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>event-hub-message-receive-timeout</name><displayName>Message Receive Timeout</displayName><description>The amount of time this consumer should wait to receive the Batch Size before returning.</description><defaultValue>1 min</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>checkpoint-strategy</name><displayName>Checkpoint Strategy</displayName><description>Specifies which strategy to use for storing and retrieving partition ownership and checkpoint information for each partition.</description><defaultValue>AZURE_BLOB_STORAGE</defaultValue><allowableValues><allowableValue><displayName>Azure Blob Storage</displayName><value>AZURE_BLOB_STORAGE</value><description>Use Azure Blob Storage to store partition ownership and checkpoint information</description></allowableValue><allowableValue><displayName>Component State</displayName><value>COMPONENT_STATE</value><description>Use component state to store partition ownership and checkpoint information</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-name</name><displayName>Storage Account Name</displayName><description>Name of the Azure Storage account to store event hub consumer group state.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>checkpoint-strategy</propertyName><propertyDisplayName>Checkpoint Strategy</propertyDisplayName><dependentValues><dependentValue>AZURE_BLOB_STORAGE</dependentValue></dependentValues></dependency></dependencies></property><property><name>storage-account-key</name><displayName>Storage Account Key</displayName><description>The Azure Storage account key to store event hub consumer group state.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>checkpoint-strategy</propertyName><propertyDisplayName>Checkpoint Strategy</propertyDisplayName><dependentValues><dependentValue>AZURE_BLOB_STORAGE</dependentValue></dependentValues></dependency></dependencies></property><property><name>storage-sas-token</name><displayName>Storage SAS Token</displayName><description>The Azure Storage SAS token to store Event Hub consumer group state. Always starts with a ? character.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>checkpoint-strategy</propertyName><propertyDisplayName>Checkpoint Strategy</propertyDisplayName><dependentValues><dependentValue>AZURE_BLOB_STORAGE</dependentValue></dependentValues></dependency></dependencies></property><property><name>storage-container-name</name><displayName>Storage Container Name</displayName><description>Name of the Azure Storage container to store the event hub consumer group state. If not specified, event hub name is used.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>checkpoint-strategy</propertyName><propertyDisplayName>Checkpoint Strategy</propertyDisplayName><dependentValues><dependentValue>AZURE_BLOB_STORAGE</dependentValue></dependentValues></dependency></dependencies></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: HTTP + AuthN</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Transport Type</propertyName><propertyDisplayName>Transport Type</propertyDisplayName><dependentValues><dependentValue>AmqpWebSockets</dependentValue></dependentValues></dependency></dependencies></property></properties><relationships><relationship><name>success</name><description>FlowFiles received from Event Hub.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>parse.failure</name><description>If a message from event hub cannot be parsed using the configured Record Reader or failed to be written by the configured Record Writer, the contents of the message will be routed to this Relationship as its own individual FlowFile.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>eventhub.enqueued.timestamp</name><description>The time (in milliseconds since epoch, UTC) at which the message was enqueued in the event hub</description></writesAttribute><writesAttribute><name>eventhub.offset</name><description>The offset into the partition at which the message was stored</description></writesAttribute><writesAttribute><name>eventhub.sequence</name><description>The sequence number associated with the message</description></writesAttribute><writesAttribute><name>eventhub.name</name><description>The name of the event hub from which the message was pulled</description></writesAttribute><writesAttribute><name>eventhub.partition</name><description>The name of the partition from which the message was pulled</description></writesAttribute><writesAttribute><name>eventhub.property.*</name><description>The application properties of this message. IE: 'application' would be 'eventhub.property.application'</description></writesAttribute></writesAttributes><triggerSerially>true</triggerSerially><stateful><description>Local state is used to store the client id. Cluster state is used to store partition ownership and checkpoint information when component state is configured as the checkpointing strategy.</description><scopes><scope>LOCAL</scope><scope>CLUSTER</scope></scopes></stateful><inputRequirement>INPUT_FORBIDDEN</inputRequirement></extension><extension><name>org.apache.nifi.processors.azure.eventhub.GetAzureEventHub</name><type>PROCESSOR</type><description>Receives messages from Microsoft Azure Event Hubs without reliable checkpoint tracking. In clustered environment, GetAzureEventHub processor instances work independently and all cluster nodes process all messages (unless running the processor in Primary Only mode). ConsumeAzureEventHub offers the recommended approach to receiving messages from Azure Event Hubs. This processor creates a thread pool for connections to Azure Event Hubs.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>eventhub</tag><tag>events</tag><tag>streaming</tag><tag>streams</tag></tags><properties><property><name>Event Hub Namespace</name><displayName>Event Hub Namespace</displayName><description>Namespace of Azure Event Hubs prefixed to Service Bus Endpoint domain</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Event Hub Name</name><displayName>Event Hub Name</displayName><description>Name of Azure Event Hubs source</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Service Bus Endpoint</name><displayName>Service Bus Endpoint</displayName><description>To support namespaces not in the default windows.net domain.</description><defaultValue>.servicebus.windows.net</defaultValue><allowableValues><allowableValue><displayName>Azure</displayName><value>.servicebus.windows.net</value><description>Servicebus endpoint for general use</description></allowableValue><allowableValue><displayName>Azure China</displayName><value>.servicebus.chinacloudapi.cn</value><description>Servicebus endpoint for China</description></allowableValue><allowableValue><displayName>Azure Germany</displayName><value>.servicebus.cloudapi.de</value><description>Servicebus endpoint for Germany</description></allowableValue><allowableValue><displayName>Azure US Government</displayName><value>.servicebus.usgovcloudapi.net</value><description>Servicebus endpoint for US Government</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Transport Type</name><displayName>Transport Type</displayName><description>Advanced Message Queuing Protocol Transport Type for communication with Azure Event Hubs</description><defaultValue>Amqp</defaultValue><allowableValues><allowableValue><displayName>AMQP</displayName><value>Amqp</value><description>AMQP over TCP on ports 5671 and 5672</description></allowableValue><allowableValue><displayName>AMQP_WEB_SOCKETS</displayName><value>AmqpWebSockets</value><description>AMQP over HTTPS with WebSockets on port 443</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Shared Access Policy Name</name><displayName>Shared Access Policy Name</displayName><description>The name of the shared access policy. This policy must have Listen claims.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Shared Access Policy Primary Key</name><displayName>Shared Access Policy Key</displayName><description>The key of the shared access policy. Either the primary or the secondary key can be used.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>use-managed-identity</name><displayName>Use Azure Managed Identity</displayName><description>Choose whether or not to use the managed identity of Azure VM/VMSS</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Number of Event Hub Partitions</name><displayName>Number of Event Hub Partitions</displayName><description>This property is deprecated and no longer used.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Event Hub Consumer Group</name><displayName>Consumer Group</displayName><description>The name of the consumer group to use when pulling events</description><defaultValue>$Default</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Event Hub Message Enqueue Time</name><displayName>Message Enqueue Time</displayName><description>A timestamp (ISO-8601 Instant) formatted as YYYY-MM-DDThhmmss.sssZ (2016-01-01T01:01:01.000Z) from which messages should have been enqueued in the Event Hub to start reading from</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Partition Recivier Fetch Size</name><displayName>Partition Receiver Fetch Size</displayName><description>The number of events that a receiver should fetch from an Event Hubs partition before returning. The default is 100</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Partition Receiver Timeout (millseconds)</name><displayName>Partition Receiver Timeout</displayName><description>The amount of time in milliseconds a Partition Receiver should wait to receive the Fetch Size before returning. The default is 60000</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: HTTP + AuthN</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Transport Type</propertyName><propertyDisplayName>Transport Type</propertyDisplayName><dependentValues><dependentValue>AmqpWebSockets</dependentValue></dependentValues></dependency></dependencies></property></properties><relationships><relationship><name>success</name><description>Any FlowFile that is successfully received from the event hub will be transferred to this Relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>eventhub.enqueued.timestamp</name><description>The time (in milliseconds since epoch, UTC) at which the message was enqueued in the event hub</description></writesAttribute><writesAttribute><name>eventhub.offset</name><description>The offset into the partition at which the message was stored</description></writesAttribute><writesAttribute><name>eventhub.sequence</name><description>The Azure sequence number associated with the message</description></writesAttribute><writesAttribute><name>eventhub.name</name><description>The name of the event hub from which the message was pulled</description></writesAttribute><writesAttribute><name>eventhub.partition</name><description>The name of the event hub partition from which the message was pulled</description></writesAttribute><writesAttribute><name>eventhub.property.*</name><description>The application properties of this message. IE: 'application' would be 'eventhub.property.application'</description></writesAttribute></writesAttributes><inputRequirement>INPUT_FORBIDDEN</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.eventhub.ConsumeAzureEventHub</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.eventhub.PutAzureEventHub</name><type>PROCESSOR</type><description>Send FlowFile contents to Azure Event Hubs</description><tags><tag>microsoft</tag><tag>azure</tag><tag>cloud</tag><tag>eventhub</tag><tag>events</tag><tag>streams</tag><tag>streaming</tag></tags><properties><property><name>Event Hub Namespace</name><displayName>Event Hub Namespace</displayName><description>Namespace of Azure Event Hubs prefixed to Service Bus Endpoint domain</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Event Hub Name</name><displayName>Event Hub Name</displayName><description>Name of Azure Event Hubs destination</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Service Bus Endpoint</name><displayName>Service Bus Endpoint</displayName><description>To support namespaces not in the default windows.net domain.</description><defaultValue>.servicebus.windows.net</defaultValue><allowableValues><allowableValue><displayName>Azure</displayName><value>.servicebus.windows.net</value><description>Servicebus endpoint for general use</description></allowableValue><allowableValue><displayName>Azure China</displayName><value>.servicebus.chinacloudapi.cn</value><description>Servicebus endpoint for China</description></allowableValue><allowableValue><displayName>Azure Germany</displayName><value>.servicebus.cloudapi.de</value><description>Servicebus endpoint for Germany</description></allowableValue><allowableValue><displayName>Azure US Government</displayName><value>.servicebus.usgovcloudapi.net</value><description>Servicebus endpoint for US Government</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Transport Type</name><displayName>Transport Type</displayName><description>Advanced Message Queuing Protocol Transport Type for communication with Azure Event Hubs</description><defaultValue>Amqp</defaultValue><allowableValues><allowableValue><displayName>AMQP</displayName><value>Amqp</value><description>AMQP over TCP on ports 5671 and 5672</description></allowableValue><allowableValue><displayName>AMQP_WEB_SOCKETS</displayName><value>AmqpWebSockets</value><description>AMQP over HTTPS with WebSockets on port 443</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Shared Access Policy Name</name><displayName>Shared Access Policy Name</displayName><description>The name of the shared access policy. This policy must have Send claims.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Shared Access Policy Primary Key</name><displayName>Shared Access Policy Key</displayName><description>The key of the shared access policy. Either the primary or the secondary key can be used.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>use-managed-identity</name><displayName>Use Azure Managed Identity</displayName><description>Choose whether or not to use the managed identity of Azure VM/VMSS</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>partitioning-key-attribute-name</name><displayName>Partitioning Key Attribute Name</displayName><description>If specified, the value from argument named by this field will be used as a partitioning key to be used by event hub.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>max-batch-size</name><displayName>Maximum Batch Size</displayName><description>Maximum number of FlowFiles processed for each Processor invocation</description><defaultValue>100</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: HTTP + AuthN</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Transport Type</propertyName><propertyDisplayName>Transport Type</propertyDisplayName><dependentValues><dependentValue>AmqpWebSockets</dependentValue></dependentValues></dependency></dependencies></property></properties><relationships><relationship><name>success</name><description>Any FlowFile that is successfully sent to the event hubs will be transferred to this Relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Any FlowFile that could not be sent to the event hub will be transferred to this Relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes></writesAttributes><supportsBatching>true</supportsBatching><inputRequirement>INPUT_REQUIRED</inputRequirement><systemResourceConsiderations><systemResourceConsideration><resource>MEMORY</resource><description>The Processor buffers FlowFile contents in memory before sending</description></systemResourceConsideration></systemResourceConsiderations></extension><extension><name>org.apache.nifi.processors.azure.storage.DeleteAzureBlobStorage</name><type>PROCESSOR</type><deprecationNotice><reason>Processor depends on legacy Microsoft Azure SDK</reason><alternatives><alternative>org.apache.nifi.processors.azure.storage.DeleteAzureBlobStorage_v12</alternative></alternatives></deprecationNotice><description>Deletes the provided blob from Azure Storage</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>blob</tag></tags><properties><property><name>container-name</name><displayName>Container Name</displayName><description>Name of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-credentials-service</name><displayName>Storage Credentials</displayName><description>The Controller Service used to obtain Azure Storage Credentials. Instead of the processor level properties, the credentials can be configured here through a common/shared controller service, which is the preferred way. The 'Lookup' version of the service can also be used to select the credentials dynamically at runtime based on a FlowFile attribute (if the processor has FlowFile input).</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-name</name><displayName>Storage Account Name</displayName><description>The storage account name. There are certain risks in allowing the account name to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account name to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions. Instead of defining the Storage Account Name, Storage Account Key and SAS Token properties directly on the processor, the preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-key</name><displayName>Storage Account Key</displayName><description>The storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies. There are certain risks in allowing the account key to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account key to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-sas-token</name><displayName>SAS Token</displayName><description>Shared Access Signature token, including the leading '?'. Specify either SAS token (recommended) or Account Key. There are certain risks in allowing the SAS token to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the SAS token to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-endpoint-suffix</name><displayName>Common Storage Account Endpoint Suffix</displayName><description>Storage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions). The preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>blob</name><displayName>Blob</displayName><description>The filename of the blob</description><defaultValue>${azure.blobname}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>delete-snapshots-option</name><displayName>Delete Snapshots Option</displayName><description>Specifies the snapshot deletion options to be used when deleting a blob.</description><defaultValue>NONE</defaultValue><allowableValues><allowableValue><displayName>None</displayName><value>NONE</value><description>Delete the blob only.</description></allowableValue><allowableValue><displayName>Include Snapshots</displayName><value>INCLUDE_SNAPSHOTS</value><description>Delete the blob and its snapshots.</description></allowableValue><allowableValue><displayName>Delete Snapshots Only</displayName><value>DELETE_SNAPSHOTS_ONLY</value><description>Delete only the blob's snapshots.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All successfully processed FlowFiles are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Unsuccessful operations will be transferred to the failure relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.ListAzureBlobStorage</see><see>org.apache.nifi.processors.azure.storage.FetchAzureBlobStorage</see><see>org.apache.nifi.processors.azure.storage.PutAzureBlobStorage</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.DeleteAzureBlobStorage_v12</name><type>PROCESSOR</type><description>Deletes the specified blob from Azure Blob Storage. The processor uses Azure Blob Storage client library v12.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>blob</tag></tags><properties><property><name>storage-credentials-service</name><displayName>Storage Credentials</displayName><description>Controller Service used to obtain Azure Blob Storage Credentials.</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService_v12</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>container-name</name><displayName>Container Name</displayName><description>Name of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.</description><defaultValue>${azure.container}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>blob-name</name><displayName>Blob Name</displayName><description>The full name of the blob</description><defaultValue>${azure.blobname}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>delete-snapshots-option</name><displayName>Delete Snapshots Option</displayName><description>Specifies the snapshot deletion options to be used when deleting a blob.</description><defaultValue>NONE</defaultValue><allowableValues><allowableValue><displayName>None</displayName><value>NONE</value><description>Delete the blob only.</description></allowableValue><allowableValue><displayName>Include Snapshots</displayName><value>INCLUDE</value><description>Delete the blob and its snapshots.</description></allowableValue><allowableValue><displayName>Delete Snapshots Only</displayName><value>ONLY</value><description>Delete only the blob's snapshots.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All successfully processed FlowFiles are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Unsuccessful operations will be transferred to the failure relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.ListAzureBlobStorage_v12</see><see>org.apache.nifi.processors.azure.storage.FetchAzureBlobStorage_v12</see><see>org.apache.nifi.processors.azure.storage.PutAzureBlobStorage_v12</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.DeleteAzureDataLakeStorage</name><type>PROCESSOR</type><description>Deletes the provided file from Azure Data Lake Storage</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>adlsgen2</tag><tag>datalake</tag></tags><properties><property><name>adls-credentials-service</name><displayName>ADLS Credentials</displayName><description>Controller Service used to obtain Azure Credentials.</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.ADLSCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>filesystem-name</name><displayName>Filesystem Name</displayName><description>Name of the Azure Storage File System (also called Container). It is assumed to be already existing.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>filesystem-object-type</name><displayName>Filesystem Object Type</displayName><description>They type of the file system object to be deleted. It can be either folder or file.</description><defaultValue>file</defaultValue><allowableValues><allowableValue><displayName>File</displayName><value>file</value><description>The object to be deleted is a file.</description></allowableValue><allowableValue><displayName>Directory</displayName><value>directory</value><description>The object to be deleted is a directory.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>directory-name</name><displayName>Directory Name</displayName><description>Name of the Azure Storage Directory. The Directory Name cannot contain a leading '/'. The root directory can be designated by the empty string value. In case of the PutAzureDataLakeStorage processor, the directory will be created if not already existing.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>file-name</name><displayName>File Name</displayName><description>The filename</description><defaultValue>${azure.filename}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>filesystem-object-type</propertyName><propertyDisplayName>Filesystem Object Type</propertyDisplayName><dependentValues><dependentValue>file</dependentValue></dependentValues></dependency></dependencies></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>Files that have been successfully written to Azure storage are transferred to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Files that could not be written to Azure storage for some reason are transferred to this relationship</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.PutAzureDataLakeStorage</see><see>org.apache.nifi.processors.azure.storage.FetchAzureDataLakeStorage</see><see>org.apache.nifi.processors.azure.storage.ListAzureDataLakeStorage</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.FetchAzureBlobStorage</name><type>PROCESSOR</type><deprecationNotice><reason>Processor depends on legacy Microsoft Azure SDK</reason><alternatives><alternative>org.apache.nifi.processors.azure.storage.FetchAzureBlobStorage_v12</alternative></alternatives></deprecationNotice><description>Retrieves contents of an Azure Storage Blob, writing the contents to the content of the FlowFile</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>blob</tag></tags><properties><property><name>container-name</name><displayName>Container Name</displayName><description>Name of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-credentials-service</name><displayName>Storage Credentials</displayName><description>The Controller Service used to obtain Azure Storage Credentials. Instead of the processor level properties, the credentials can be configured here through a common/shared controller service, which is the preferred way. The 'Lookup' version of the service can also be used to select the credentials dynamically at runtime based on a FlowFile attribute (if the processor has FlowFile input).</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-name</name><displayName>Storage Account Name</displayName><description>The storage account name. There are certain risks in allowing the account name to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account name to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions. Instead of defining the Storage Account Name, Storage Account Key and SAS Token properties directly on the processor, the preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-key</name><displayName>Storage Account Key</displayName><description>The storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies. There are certain risks in allowing the account key to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account key to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-sas-token</name><displayName>SAS Token</displayName><description>Shared Access Signature token, including the leading '?'. Specify either SAS token (recommended) or Account Key. There are certain risks in allowing the SAS token to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the SAS token to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-endpoint-suffix</name><displayName>Common Storage Account Endpoint Suffix</displayName><description>Storage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions). The preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>blob</name><displayName>Blob</displayName><description>The filename of the blob</description><defaultValue>${azure.blobname}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>range-start</name><displayName>Range Start</displayName><description>The byte position at which to start reading from the blob. An empty value or a value of zero will start reading at the beginning of the blob.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>range-length</name><displayName>Range Length</displayName><description>The number of bytes to download from the blob, starting from the Range Start. An empty value or a value that extends beyond the end of the blob will read to the end of the blob.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>cse-key-type</name><displayName>Client-Side Encryption Key Type</displayName><description>Specifies the key type to use for client-side encryption.</description><defaultValue>NONE</defaultValue><allowableValues><allowableValue><displayName>NONE</displayName><value>NONE</value><description>The blobs sent to Azure are not encrypted.</description></allowableValue><allowableValue><displayName>SYMMETRIC</displayName><value>SYMMETRIC</value><description>The blobs sent to Azure are encrypted using a symmetric algorithm.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>cse-key-id</name><displayName>Client-Side Encryption Key ID</displayName><description>Specifies the ID of the key to use for client-side encryption.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>cse-key-type</propertyName><propertyDisplayName>Client-Side Encryption Key Type</propertyDisplayName><dependentValues><dependentValue>SYMMETRIC</dependentValue></dependentValues></dependency></dependencies></property><property><name>cse-symmetric-key-hex</name><displayName>Symmetric Key</displayName><description>When using symmetric client-side encryption, this is the raw key, encoded in hexadecimal</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>cse-key-type</propertyName><propertyDisplayName>Client-Side Encryption Key Type</propertyDisplayName><dependentValues><dependentValue>SYMMETRIC</dependentValue></dependentValues></dependency></dependencies></property></properties><relationships><relationship><name>success</name><description>All successfully processed FlowFiles are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Unsuccessful operations will be transferred to the failure relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>azure.length</name><description>The length of the blob fetched</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.ListAzureBlobStorage</see><see>org.apache.nifi.processors.azure.storage.PutAzureBlobStorage</see><see>org.apache.nifi.processors.azure.storage.DeleteAzureBlobStorage</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.FetchAzureBlobStorage_v12</name><type>PROCESSOR</type><description>Retrieves the specified blob from Azure Blob Storage and writes its content to the content of the FlowFile. The processor uses Azure Blob Storage client library v12.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>blob</tag></tags><properties><property><name>storage-credentials-service</name><displayName>Storage Credentials</displayName><description>Controller Service used to obtain Azure Blob Storage Credentials.</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService_v12</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>container-name</name><displayName>Container Name</displayName><description>Name of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.</description><defaultValue>${azure.container}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>blob-name</name><displayName>Blob Name</displayName><description>The full name of the blob</description><defaultValue>${azure.blobname}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>range-start</name><displayName>Range Start</displayName><description>The byte position at which to start reading from the blob. An empty value or a value of zero will start reading at the beginning of the blob.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>range-length</name><displayName>Range Length</displayName><description>The number of bytes to download from the blob, starting from the Range Start. An empty value or a value that extends beyond the end of the blob will read to the end of the blob.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Client-Side Encryption Key Type</name><displayName>Client-Side Encryption Key Type</displayName><description>Specifies the key type to use for client-side encryption.</description><defaultValue>NONE</defaultValue><allowableValues><allowableValue><displayName>NONE</displayName><value>NONE</value><description>Client-Side Encryption disabled</description></allowableValue><allowableValue><displayName>LOCAL</displayName><value>LOCAL</value><description>Client-Side Encryption enabled using local key</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Client-Side Encryption Key ID</name><displayName>Client-Side Encryption Key ID</displayName><description>Specifies the ID of the key to use for client-side encryption.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Client-Side Encryption Key Type</propertyName><propertyDisplayName>Client-Side Encryption Key Type</propertyDisplayName><dependentValues><dependentValue>LOCAL</dependentValue></dependentValues></dependency></dependencies></property><property><name>Client-Side Encryption Local Key</name><displayName>Client-Side Encryption Local Key</displayName><description>When using local client-side encryption, this is the raw key, encoded in hexadecimal</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Client-Side Encryption Key Type</propertyName><propertyDisplayName>Client-Side Encryption Key Type</propertyDisplayName><dependentValues><dependentValue>LOCAL</dependentValue></dependentValues></dependency></dependencies></property></properties><relationships><relationship><name>success</name><description>All successfully processed FlowFiles are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Unsuccessful operations will be transferred to the failure relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>azure.container</name><description>The name of the Azure Blob Storage container</description></writesAttribute><writesAttribute><name>azure.blobname</name><description>The name of the blob on Azure Blob Storage</description></writesAttribute><writesAttribute><name>azure.primaryUri</name><description>Primary location of the blob</description></writesAttribute><writesAttribute><name>azure.etag</name><description>ETag of the blob</description></writesAttribute><writesAttribute><name>azure.blobtype</name><description>Type of the blob (either BlockBlob, PageBlob or AppendBlob)</description></writesAttribute><writesAttribute><name>mime.type</name><description>MIME Type of the content</description></writesAttribute><writesAttribute><name>lang</name><description>Language code for the content</description></writesAttribute><writesAttribute><name>azure.timestamp</name><description>Timestamp of the blob</description></writesAttribute><writesAttribute><name>azure.length</name><description>Length of the blob</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.ListAzureBlobStorage_v12</see><see>org.apache.nifi.processors.azure.storage.PutAzureBlobStorage_v12</see><see>org.apache.nifi.processors.azure.storage.DeleteAzureBlobStorage_v12</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.FetchAzureDataLakeStorage</name><type>PROCESSOR</type><description>Fetch the provided file from Azure Data Lake Storage</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>adlsgen2</tag><tag>datalake</tag></tags><properties><property><name>adls-credentials-service</name><displayName>ADLS Credentials</displayName><description>Controller Service used to obtain Azure Credentials.</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.ADLSCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>filesystem-name</name><displayName>Filesystem Name</displayName><description>Name of the Azure Storage File System (also called Container). It is assumed to be already existing.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>directory-name</name><displayName>Directory Name</displayName><description>Name of the Azure Storage Directory. The Directory Name cannot contain a leading '/'. The root directory can be designated by the empty string value. In case of the PutAzureDataLakeStorage processor, the directory will be created if not already existing.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>file-name</name><displayName>File Name</displayName><description>The filename</description><defaultValue>${azure.filename}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>range-start</name><displayName>Range Start</displayName><description>The byte position at which to start reading from the object. An empty value or a value of zero will start reading at the beginning of the object.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>range-length</name><displayName>Range Length</displayName><description>The number of bytes to download from the object, starting from the Range Start. An empty value or a value that extends beyond the end of the object will read to the end of the object.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>number-of-retries</name><displayName>Number of Retries</displayName><description>The number of automatic retries to perform if the download fails.</description><defaultValue>0</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>Files that have been successfully written to Azure storage are transferred to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Files that could not be written to Azure storage for some reason are transferred to this relationship</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>azure.datalake.storage.statusCode</name><description>The HTTP error code (if available) from the failed operation</description></writesAttribute><writesAttribute><name>azure.datalake.storage.errorCode</name><description>The Azure Data Lake Storage moniker of the failed operation</description></writesAttribute><writesAttribute><name>azure.datalake.storage.errorMessage</name><description>The Azure Data Lake Storage error message from the failed operation</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.PutAzureDataLakeStorage</see><see>org.apache.nifi.processors.azure.storage.DeleteAzureDataLakeStorage</see><see>org.apache.nifi.processors.azure.storage.ListAzureDataLakeStorage</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.ListAzureBlobStorage</name><type>PROCESSOR</type><deprecationNotice><reason>Processor depends on legacy Microsoft Azure SDK</reason><alternatives><alternative>org.apache.nifi.processors.azure.storage.ListAzureBlobStorage_v12</alternative></alternatives></deprecationNotice><description>Lists blobs in an Azure Storage container. Listing details are attached to an empty FlowFile for use with FetchAzureBlobStorage.  This Processor is designed to run on Primary Node only in a cluster. If the primary node changes, the new Primary Node will pick up where the previous node left off without duplicating all of the data.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>blob</tag></tags><properties><property><name>listing-strategy</name><displayName>Listing Strategy</displayName><description>Specify how to determine new/updated entities. See each strategy descriptions for detail.</description><defaultValue>timestamps</defaultValue><allowableValues><allowableValue><displayName>Tracking Timestamps</displayName><value>timestamps</value><description>This strategy tracks the latest timestamp of listed entity to determine new/updated entities. Since it only tracks few timestamps, it can manage listing state efficiently. However, any newly added, or updated entity having timestamp older than the tracked latest timestamp can not be picked by this strategy. For example, such situation can happen in a file system if a file with old timestamp is copied or moved into the target directory without its last modified timestamp being updated. Also may miss files when multiple subdirectories are being written at the same time while listing is running.</description></allowableValue><allowableValue><displayName>Tracking Entities</displayName><value>entities</value><description>This strategy tracks information of all the listed entities within the latest 'Entity Tracking Time Window' to determine new/updated entities. This strategy can pick entities having old timestamp that can be missed with 'Tracking Timestamps'. Works even when multiple subdirectories are being written at the same time while listing is running. However additional DistributedMapCache controller service is required and more JVM heap memory is used. See the description of 'Entity Tracking Time Window' property for further details on how it works.</description></allowableValue><allowableValue><displayName>No Tracking</displayName><value>none</value><description>This strategy lists an entity without any tracking. The same entity will be listed each time on executing this processor. It is recommended to change the default run schedule value. Any property that related to the persisting state will be disregarded.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>record-writer</name><displayName>Record Writer</displayName><description>Specifies the Record Writer to use for creating the listing. If not specified, one FlowFile will be created for each entity that is listed. If the Record Writer is specified, all entities will be written to a single FlowFile instead of adding attributes to individual FlowFiles.</description><controllerServiceDefinition><className>org.apache.nifi.serialization.RecordSetWriterFactory</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>container-name</name><displayName>Container Name</displayName><description>Name of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-credentials-service</name><displayName>Storage Credentials</displayName><description>The Controller Service used to obtain Azure Storage Credentials. Instead of the processor level properties, the credentials can be configured here through a common/shared controller service, which is the preferred way. The 'Lookup' version of the service can also be used to select the credentials dynamically at runtime based on a FlowFile attribute (if the processor has FlowFile input).</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-name</name><displayName>Storage Account Name</displayName><description>The storage account name. There are certain risks in allowing the account name to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account name to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions. Instead of defining the Storage Account Name, Storage Account Key and SAS Token properties directly on the processor, the preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-key</name><displayName>Storage Account Key</displayName><description>The storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies. There are certain risks in allowing the account key to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account key to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-sas-token</name><displayName>SAS Token</displayName><description>Shared Access Signature token, including the leading '?'. Specify either SAS token (recommended) or Account Key. There are certain risks in allowing the SAS token to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the SAS token to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-endpoint-suffix</name><displayName>Common Storage Account Endpoint Suffix</displayName><description>Storage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions). The preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>prefix</name><displayName>Prefix</displayName><description>Search prefix for listing</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>et-state-cache</name><displayName>Entity Tracking State Cache</displayName><description>Listed entities are stored in the specified cache storage so that this processor can resume listing across NiFi restart or in case of primary node change. 'Tracking Entities' strategy require tracking information of all listed entities within the last 'Tracking Time Window'. To support large number of entities, the strategy uses DistributedMapCache instead of managed state. Cache key format is 'ListedEntities::{processorId}(::{nodeId})'. If it tracks per node listed entities, then the optional '::{nodeId}' part is added to manage state separately. E.g. cluster wide cache key = 'ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b', per node cache key = 'ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3' The stored cache content is Gzipped JSON string. The cache key will be deleted when target listing configuration is changed. Used by 'Tracking Entities' strategy.</description><controllerServiceDefinition><className>org.apache.nifi.distributed.cache.client.DistributedMapCacheClient</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>et-time-window</name><displayName>Entity Tracking Time Window</displayName><description>Specify how long this processor should track already-listed entities. 'Tracking Entities' strategy can pick any entity whose timestamp is inside the specified time window. For example, if set to '30 minutes', any entity having timestamp in recent 30 minutes will be the listing target when this processor runs. A listed entity is considered 'new/updated' and a FlowFile is emitted if one of following condition meets: 1. does not exist in the already-listed entities, 2. has newer timestamp than the cached entity, 3. has different size than the cached entity. If a cached entity's timestamp becomes older than specified time window, that entity will be removed from the cached already-listed entities. Used by 'Tracking Entities' strategy.</description><defaultValue>3 hours</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>et-initial-listing-target</name><displayName>Entity Tracking Initial Listing Target</displayName><description>Specify how initial listing should be handled. Used by 'Tracking Entities' strategy.</description><defaultValue>all</defaultValue><allowableValues><allowableValue><displayName>Tracking Time Window</displayName><value>window</value><description>Ignore entities having timestamp older than the specified 'Tracking Time Window' at the initial listing activity.</description></allowableValue><allowableValue><displayName>All Available</displayName><value>all</value><description>Regardless of entities timestamp, all existing entities will be listed at the initial listing activity.</description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Minimum File Age</name><displayName>Minimum File Age</displayName><description>The minimum age that a file must be in order to be pulled; any file younger than this amount of time (according to last modification date) will be ignored</description><defaultValue>0 sec</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Maximum File Age</name><displayName>Maximum File Age</displayName><description>The maximum age that a file must be in order to be pulled; any file older than this amount of time (according to last modification date) will be ignored</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Minimum File Size</name><displayName>Minimum File Size</displayName><description>The minimum size that a file must be in order to be pulled</description><defaultValue>0 B</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Maximum File Size</name><displayName>Maximum File Size</displayName><description>The maximum size that a file can be in order to be pulled</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All FlowFiles that are received are routed to success</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>azure.container</name><description>The name of the Azure container</description></writesAttribute><writesAttribute><name>azure.blobname</name><description>The name of the Azure blob</description></writesAttribute><writesAttribute><name>azure.primaryUri</name><description>Primary location for blob content</description></writesAttribute><writesAttribute><name>azure.secondaryUri</name><description>Secondary location for blob content</description></writesAttribute><writesAttribute><name>azure.etag</name><description>Etag for the Azure blob</description></writesAttribute><writesAttribute><name>azure.length</name><description>Length of the blob</description></writesAttribute><writesAttribute><name>azure.timestamp</name><description>The timestamp in Azure for the blob</description></writesAttribute><writesAttribute><name>mime.type</name><description>MimeType of the content</description></writesAttribute><writesAttribute><name>lang</name><description>Language code for the content</description></writesAttribute><writesAttribute><name>azure.blobtype</name><description>This is the type of blob and can be either page or block type</description></writesAttribute></writesAttributes><triggerSerially>true</triggerSerially><primaryNodeOnly>true</primaryNodeOnly><stateful><description>After performing a listing of blobs, the timestamp of the newest blob is stored. This allows the Processor to list only blobs that have been added or modified after this date the next time that the Processor is run.  State is stored across the cluster so that this Processor can be run on Primary Node only and if a new Primary Node is selected, the new node can pick up where the previous node left off, without duplicating the data.</description><scopes><scope>CLUSTER</scope></scopes></stateful><inputRequirement>INPUT_FORBIDDEN</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.FetchAzureBlobStorage</see><see>org.apache.nifi.processors.azure.storage.PutAzureBlobStorage</see><see>org.apache.nifi.processors.azure.storage.DeleteAzureBlobStorage</see></seeAlso><defaultSchedule><strategy>TIMER_DRIVEN</strategy><period>1 min</period><concurrentTasks>1</concurrentTasks></defaultSchedule></extension><extension><name>org.apache.nifi.processors.azure.storage.ListAzureBlobStorage_v12</name><type>PROCESSOR</type><description>Lists blobs in an Azure Blob Storage container. Listing details are attached to an empty FlowFile for use with FetchAzureBlobStorage. This Processor is designed to run on Primary Node only in a cluster. If the primary node changes, the new Primary Node will pick up where the previous node left off without duplicating all of the data. The processor uses Azure Blob Storage client library v12.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>blob</tag></tags><properties><property><name>storage-credentials-service</name><displayName>Storage Credentials</displayName><description>Controller Service used to obtain Azure Blob Storage Credentials.</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService_v12</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>container-name</name><displayName>Container Name</displayName><description>Name of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>blob-name-prefix</name><displayName>Blob Name Prefix</displayName><description>Search prefix for listing</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>record-writer</name><displayName>Record Writer</displayName><description>Specifies the Record Writer to use for creating the listing. If not specified, one FlowFile will be created for each entity that is listed. If the Record Writer is specified, all entities will be written to a single FlowFile instead of adding attributes to individual FlowFiles.</description><controllerServiceDefinition><className>org.apache.nifi.serialization.RecordSetWriterFactory</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>listing-strategy</name><displayName>Listing Strategy</displayName><description>Specify how to determine new/updated entities. See each strategy descriptions for detail.</description><defaultValue>timestamps</defaultValue><allowableValues><allowableValue><displayName>Tracking Timestamps</displayName><value>timestamps</value><description>This strategy tracks the latest timestamp of listed entity to determine new/updated entities. Since it only tracks few timestamps, it can manage listing state efficiently. However, any newly added, or updated entity having timestamp older than the tracked latest timestamp can not be picked by this strategy. For example, such situation can happen in a file system if a file with old timestamp is copied or moved into the target directory without its last modified timestamp being updated. Also may miss files when multiple subdirectories are being written at the same time while listing is running.</description></allowableValue><allowableValue><displayName>Tracking Entities</displayName><value>entities</value><description>This strategy tracks information of all the listed entities within the latest 'Entity Tracking Time Window' to determine new/updated entities. This strategy can pick entities having old timestamp that can be missed with 'Tracking Timestamps'. Works even when multiple subdirectories are being written at the same time while listing is running. However additional DistributedMapCache controller service is required and more JVM heap memory is used. See the description of 'Entity Tracking Time Window' property for further details on how it works.</description></allowableValue><allowableValue><displayName>No Tracking</displayName><value>none</value><description>This strategy lists an entity without any tracking. The same entity will be listed each time on executing this processor. It is recommended to change the default run schedule value. Any property that related to the persisting state will be disregarded.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>et-state-cache</name><displayName>Entity Tracking State Cache</displayName><description>Listed entities are stored in the specified cache storage so that this processor can resume listing across NiFi restart or in case of primary node change. 'Tracking Entities' strategy require tracking information of all listed entities within the last 'Tracking Time Window'. To support large number of entities, the strategy uses DistributedMapCache instead of managed state. Cache key format is 'ListedEntities::{processorId}(::{nodeId})'. If it tracks per node listed entities, then the optional '::{nodeId}' part is added to manage state separately. E.g. cluster wide cache key = 'ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b', per node cache key = 'ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3' The stored cache content is Gzipped JSON string. The cache key will be deleted when target listing configuration is changed. Used by 'Tracking Entities' strategy.</description><controllerServiceDefinition><className>org.apache.nifi.distributed.cache.client.DistributedMapCacheClient</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>listing-strategy</propertyName><propertyDisplayName>Listing Strategy</propertyDisplayName><dependentValues><dependentValue>entities</dependentValue></dependentValues></dependency></dependencies></property><property><name>et-time-window</name><displayName>Entity Tracking Time Window</displayName><description>Specify how long this processor should track already-listed entities. 'Tracking Entities' strategy can pick any entity whose timestamp is inside the specified time window. For example, if set to '30 minutes', any entity having timestamp in recent 30 minutes will be the listing target when this processor runs. A listed entity is considered 'new/updated' and a FlowFile is emitted if one of following condition meets: 1. does not exist in the already-listed entities, 2. has newer timestamp than the cached entity, 3. has different size than the cached entity. If a cached entity's timestamp becomes older than specified time window, that entity will be removed from the cached already-listed entities. Used by 'Tracking Entities' strategy.</description><defaultValue>3 hours</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>listing-strategy</propertyName><propertyDisplayName>Listing Strategy</propertyDisplayName><dependentValues><dependentValue>entities</dependentValue></dependentValues></dependency></dependencies></property><property><name>et-initial-listing-target</name><displayName>Entity Tracking Initial Listing Target</displayName><description>Specify how initial listing should be handled. Used by 'Tracking Entities' strategy.</description><defaultValue>all</defaultValue><allowableValues><allowableValue><displayName>Tracking Time Window</displayName><value>window</value><description>Ignore entities having timestamp older than the specified 'Tracking Time Window' at the initial listing activity.</description></allowableValue><allowableValue><displayName>All Available</displayName><value>all</value><description>Regardless of entities timestamp, all existing entities will be listed at the initial listing activity.</description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>listing-strategy</propertyName><propertyDisplayName>Listing Strategy</propertyDisplayName><dependentValues><dependentValue>entities</dependentValue></dependentValues></dependency></dependencies></property><property><name>Minimum File Age</name><displayName>Minimum File Age</displayName><description>The minimum age that a file must be in order to be pulled; any file younger than this amount of time (according to last modification date) will be ignored</description><defaultValue>0 sec</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Maximum File Age</name><displayName>Maximum File Age</displayName><description>The maximum age that a file must be in order to be pulled; any file older than this amount of time (according to last modification date) will be ignored</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Minimum File Size</name><displayName>Minimum File Size</displayName><description>The minimum size that a file must be in order to be pulled</description><defaultValue>0 B</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Maximum File Size</name><displayName>Maximum File Size</displayName><description>The maximum size that a file can be in order to be pulled</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All FlowFiles that are received are routed to success</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>azure.container</name><description>The name of the Azure Blob Storage container</description></writesAttribute><writesAttribute><name>azure.blobname</name><description>The name of the blob on Azure Blob Storage</description></writesAttribute><writesAttribute><name>azure.primaryUri</name><description>Primary location of the blob</description></writesAttribute><writesAttribute><name>azure.etag</name><description>ETag of the blob</description></writesAttribute><writesAttribute><name>azure.blobtype</name><description>Type of the blob (either BlockBlob, PageBlob or AppendBlob)</description></writesAttribute><writesAttribute><name>mime.type</name><description>MIME Type of the content</description></writesAttribute><writesAttribute><name>lang</name><description>Language code for the content</description></writesAttribute><writesAttribute><name>azure.timestamp</name><description>Timestamp of the blob</description></writesAttribute><writesAttribute><name>azure.length</name><description>Length of the blob</description></writesAttribute></writesAttributes><triggerSerially>true</triggerSerially><primaryNodeOnly>true</primaryNodeOnly><stateful><description>After performing a listing of blobs, the timestamp of the newest blob is stored if 'Tracking Timestamps' Listing Strategy is in use (by default). This allows the Processor to list only blobs that have been added or modified after this date the next time that the Processor is run. State is stored across the cluster so that this Processor can be run on Primary Node only and if a new Primary Node is selected, the new node can pick up where the previous node left off, without duplicating the data.</description><scopes><scope>CLUSTER</scope></scopes></stateful><inputRequirement>INPUT_FORBIDDEN</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.FetchAzureBlobStorage_v12</see><see>org.apache.nifi.processors.azure.storage.PutAzureBlobStorage_v12</see><see>org.apache.nifi.processors.azure.storage.DeleteAzureBlobStorage_v12</see></seeAlso><defaultSchedule><strategy>TIMER_DRIVEN</strategy><period>1 min</period><concurrentTasks>1</concurrentTasks></defaultSchedule></extension><extension><name>org.apache.nifi.processors.azure.storage.ListAzureDataLakeStorage</name><type>PROCESSOR</type><description>Lists directory in an Azure Data Lake Storage Gen 2 filesystem</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>adlsgen2</tag><tag>datalake</tag></tags><properties><property><name>adls-credentials-service</name><displayName>ADLS Credentials</displayName><description>Controller Service used to obtain Azure Credentials.</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.ADLSCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>filesystem-name</name><displayName>Filesystem Name</displayName><description>Name of the Azure Storage File System (also called Container). It is assumed to be already existing.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>directory-name</name><displayName>Directory Name</displayName><description>Name of the Azure Storage Directory. The Directory Name cannot contain a leading '/'. The root directory can be designated by the empty string value. In case of the PutAzureDataLakeStorage processor, the directory will be created if not already existing.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>recurse-subdirectories</name><displayName>Recurse Subdirectories</displayName><description>Indicates whether to list files from subdirectories of the directory</description><defaultValue>true</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>file-filter</name><displayName>File Filter</displayName><description>Only files whose names match the given regular expression will be listed</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>path-filter</name><displayName>Path Filter</displayName><description>When 'Recurse Subdirectories' is true, then only subdirectories whose paths match the given regular expression will be scanned</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>include-temporary-files</name><displayName>Include Temporary Files</displayName><description>Whether to include temporary files when listing the contents of configured directory paths.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>record-writer</name><displayName>Record Writer</displayName><description>Specifies the Record Writer to use for creating the listing. If not specified, one FlowFile will be created for each entity that is listed. If the Record Writer is specified, all entities will be written to a single FlowFile instead of adding attributes to individual FlowFiles.</description><controllerServiceDefinition><className>org.apache.nifi.serialization.RecordSetWriterFactory</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>listing-strategy</name><displayName>Listing Strategy</displayName><description>Specify how to determine new/updated entities. See each strategy descriptions for detail.</description><defaultValue>timestamps</defaultValue><allowableValues><allowableValue><displayName>Tracking Timestamps</displayName><value>timestamps</value><description>This strategy tracks the latest timestamp of listed entity to determine new/updated entities. Since it only tracks few timestamps, it can manage listing state efficiently. However, any newly added, or updated entity having timestamp older than the tracked latest timestamp can not be picked by this strategy. For example, such situation can happen in a file system if a file with old timestamp is copied or moved into the target directory without its last modified timestamp being updated. Also may miss files when multiple subdirectories are being written at the same time while listing is running.</description></allowableValue><allowableValue><displayName>Tracking Entities</displayName><value>entities</value><description>This strategy tracks information of all the listed entities within the latest 'Entity Tracking Time Window' to determine new/updated entities. This strategy can pick entities having old timestamp that can be missed with 'Tracking Timestamps'. Works even when multiple subdirectories are being written at the same time while listing is running. However additional DistributedMapCache controller service is required and more JVM heap memory is used. See the description of 'Entity Tracking Time Window' property for further details on how it works.</description></allowableValue><allowableValue><displayName>No Tracking</displayName><value>none</value><description>This strategy lists an entity without any tracking. The same entity will be listed each time on executing this processor. It is recommended to change the default run schedule value. Any property that related to the persisting state will be disregarded.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>et-state-cache</name><displayName>Entity Tracking State Cache</displayName><description>Listed entities are stored in the specified cache storage so that this processor can resume listing across NiFi restart or in case of primary node change. 'Tracking Entities' strategy require tracking information of all listed entities within the last 'Tracking Time Window'. To support large number of entities, the strategy uses DistributedMapCache instead of managed state. Cache key format is 'ListedEntities::{processorId}(::{nodeId})'. If it tracks per node listed entities, then the optional '::{nodeId}' part is added to manage state separately. E.g. cluster wide cache key = 'ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b', per node cache key = 'ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3' The stored cache content is Gzipped JSON string. The cache key will be deleted when target listing configuration is changed. Used by 'Tracking Entities' strategy.</description><controllerServiceDefinition><className>org.apache.nifi.distributed.cache.client.DistributedMapCacheClient</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>et-time-window</name><displayName>Entity Tracking Time Window</displayName><description>Specify how long this processor should track already-listed entities. 'Tracking Entities' strategy can pick any entity whose timestamp is inside the specified time window. For example, if set to '30 minutes', any entity having timestamp in recent 30 minutes will be the listing target when this processor runs. A listed entity is considered 'new/updated' and a FlowFile is emitted if one of following condition meets: 1. does not exist in the already-listed entities, 2. has newer timestamp than the cached entity, 3. has different size than the cached entity. If a cached entity's timestamp becomes older than specified time window, that entity will be removed from the cached already-listed entities. Used by 'Tracking Entities' strategy.</description><defaultValue>3 hours</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>et-initial-listing-target</name><displayName>Entity Tracking Initial Listing Target</displayName><description>Specify how initial listing should be handled. Used by 'Tracking Entities' strategy.</description><defaultValue>all</defaultValue><allowableValues><allowableValue><displayName>Tracking Time Window</displayName><value>window</value><description>Ignore entities having timestamp older than the specified 'Tracking Time Window' at the initial listing activity.</description></allowableValue><allowableValue><displayName>All Available</displayName><value>all</value><description>Regardless of entities timestamp, all existing entities will be listed at the initial listing activity.</description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Minimum File Age</name><displayName>Minimum File Age</displayName><description>The minimum age that a file must be in order to be pulled; any file younger than this amount of time (according to last modification date) will be ignored</description><defaultValue>0 sec</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Maximum File Age</name><displayName>Maximum File Age</displayName><description>The maximum age that a file must be in order to be pulled; any file older than this amount of time (according to last modification date) will be ignored</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Minimum File Size</name><displayName>Minimum File Size</displayName><description>The minimum size that a file must be in order to be pulled</description><defaultValue>0 B</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Maximum File Size</name><displayName>Maximum File Size</displayName><description>The maximum size that a file can be in order to be pulled</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All FlowFiles that are received are routed to success</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>azure.filesystem</name><description>The name of the Azure File System</description></writesAttribute><writesAttribute><name>azure.filePath</name><description>The full path of the Azure File</description></writesAttribute><writesAttribute><name>azure.directory</name><description>The name of the Azure Directory</description></writesAttribute><writesAttribute><name>azure.filename</name><description>The name of the Azure File</description></writesAttribute><writesAttribute><name>azure.length</name><description>The length of the Azure File</description></writesAttribute><writesAttribute><name>azure.lastModified</name><description>The last modification time of the Azure File</description></writesAttribute><writesAttribute><name>azure.etag</name><description>The ETag of the Azure File</description></writesAttribute></writesAttributes><triggerSerially>true</triggerSerially><primaryNodeOnly>true</primaryNodeOnly><stateful><description>After performing a listing of files, the timestamp of the newest file is stored. This allows the Processor to list only files that have been added or modified after this date the next time that the Processor is run. State is stored across the cluster so that this Processor can be run on Primary Node only and if a new Primary Node is selected, the new node can pick up where the previous node left off, without duplicating the data.</description><scopes><scope>CLUSTER</scope></scopes></stateful><inputRequirement>INPUT_FORBIDDEN</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.PutAzureDataLakeStorage</see><see>org.apache.nifi.processors.azure.storage.DeleteAzureDataLakeStorage</see><see>org.apache.nifi.processors.azure.storage.FetchAzureDataLakeStorage</see></seeAlso><defaultSchedule><strategy>TIMER_DRIVEN</strategy><period>1 min</period><concurrentTasks>1</concurrentTasks></defaultSchedule></extension><extension><name>org.apache.nifi.processors.azure.storage.MoveAzureDataLakeStorage</name><type>PROCESSOR</type><description>Moves content within an Azure Data Lake Storage Gen 2. After the move, files will be no longer available on source location.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>adlsgen2</tag><tag>datalake</tag></tags><properties><property><name>adls-credentials-service</name><displayName>ADLS Credentials</displayName><description>Controller Service used to obtain Azure Credentials.</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.ADLSCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>source-filesystem-name</name><displayName>Source Filesystem</displayName><description>Name of the Azure Storage File System from where the move should happen.</description><defaultValue>${azure.filesystem}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>source-directory-name</name><displayName>Source Directory</displayName><description>Name of the Azure Storage Directory from where the move should happen. The Directory Name cannot contain a leading '/'. The root directory can be designated by the empty string value.</description><defaultValue>${azure.directory}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>filesystem-name</name><displayName>Destination Filesystem</displayName><description>Name of the Azure Storage File System where the files will be moved.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>directory-name</name><displayName>Destination Directory</displayName><description>Name of the Azure Storage Directory where the files will be moved. The Directory Name cannot contain a leading '/'. The root directory can be designated by the empty string value. Non-existing directories will be created. If the original directory structure should be kept, the full directory path needs to be provided after the destination directory. e.g.: destdir/${azure.directory}</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>file-name</name><displayName>File Name</displayName><description>The filename</description><defaultValue>${azure.filename}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>conflict-resolution-strategy</name><displayName>Conflict Resolution Strategy</displayName><description>Indicates what should happen when a file with the same name already exists in the output directory</description><defaultValue>fail</defaultValue><allowableValues><allowableValue><displayName>fail</displayName><value>fail</value><description></description></allowableValue><allowableValue><displayName>replace</displayName><value>replace</value><description></description></allowableValue><allowableValue><displayName>ignore</displayName><value>ignore</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>Files that have been successfully written to Azure storage are transferred to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Files that could not be written to Azure storage for some reason are transferred to this relationship</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>azure.source.filesystem</name><description>The name of the source Azure File System</description></writesAttribute><writesAttribute><name>azure.source.directory</name><description>The name of the source Azure Directory</description></writesAttribute><writesAttribute><name>azure.filesystem</name><description>The name of the Azure File System</description></writesAttribute><writesAttribute><name>azure.directory</name><description>The name of the Azure Directory</description></writesAttribute><writesAttribute><name>azure.filename</name><description>The name of the Azure File</description></writesAttribute><writesAttribute><name>azure.primaryUri</name><description>Primary location for file content</description></writesAttribute><writesAttribute><name>azure.length</name><description>The length of the Azure File</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.DeleteAzureDataLakeStorage</see><see>org.apache.nifi.processors.azure.storage.FetchAzureDataLakeStorage</see><see>org.apache.nifi.processors.azure.storage.ListAzureDataLakeStorage</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.PutAzureBlobStorage</name><type>PROCESSOR</type><deprecationNotice><reason>Processor depends on legacy Microsoft Azure SDK</reason><alternatives><alternative>org.apache.nifi.processors.azure.storage.PutAzureBlobStorage_v12</alternative></alternatives></deprecationNotice><description>Puts content into an Azure Storage Blob</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>blob</tag></tags><properties><property><name>container-name</name><displayName>Container Name</displayName><description>Name of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-credentials-service</name><displayName>Storage Credentials</displayName><description>The Controller Service used to obtain Azure Storage Credentials. Instead of the processor level properties, the credentials can be configured here through a common/shared controller service, which is the preferred way. The 'Lookup' version of the service can also be used to select the credentials dynamically at runtime based on a FlowFile attribute (if the processor has FlowFile input).</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-name</name><displayName>Storage Account Name</displayName><description>The storage account name. There are certain risks in allowing the account name to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account name to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions. Instead of defining the Storage Account Name, Storage Account Key and SAS Token properties directly on the processor, the preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-key</name><displayName>Storage Account Key</displayName><description>The storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies. There are certain risks in allowing the account key to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account key to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-sas-token</name><displayName>SAS Token</displayName><description>Shared Access Signature token, including the leading '?'. Specify either SAS token (recommended) or Account Key. There are certain risks in allowing the SAS token to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the SAS token to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-endpoint-suffix</name><displayName>Common Storage Account Endpoint Suffix</displayName><description>Storage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions). The preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>blob</name><displayName>Blob</displayName><description>The filename of the blob</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>azure-create-container</name><displayName>Create Container</displayName><description>Specifies whether to check if the container exists and to automatically create it if it does not. Permission to list containers is required. If false, this check is not made, but the Put operation will fail if the container does not exist.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>cse-key-type</name><displayName>Client-Side Encryption Key Type</displayName><description>Specifies the key type to use for client-side encryption.</description><defaultValue>NONE</defaultValue><allowableValues><allowableValue><displayName>NONE</displayName><value>NONE</value><description>The blobs sent to Azure are not encrypted.</description></allowableValue><allowableValue><displayName>SYMMETRIC</displayName><value>SYMMETRIC</value><description>The blobs sent to Azure are encrypted using a symmetric algorithm.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>cse-key-id</name><displayName>Client-Side Encryption Key ID</displayName><description>Specifies the ID of the key to use for client-side encryption.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>cse-key-type</propertyName><propertyDisplayName>Client-Side Encryption Key Type</propertyDisplayName><dependentValues><dependentValue>SYMMETRIC</dependentValue></dependentValues></dependency></dependencies></property><property><name>cse-symmetric-key-hex</name><displayName>Symmetric Key</displayName><description>When using symmetric client-side encryption, this is the raw key, encoded in hexadecimal</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>cse-key-type</propertyName><propertyDisplayName>Client-Side Encryption Key Type</propertyDisplayName><dependentValues><dependentValue>SYMMETRIC</dependentValue></dependentValues></dependency></dependencies></property></properties><relationships><relationship><name>success</name><description>All successfully processed FlowFiles are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Unsuccessful operations will be transferred to the failure relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>azure.container</name><description>The name of the Azure container</description></writesAttribute><writesAttribute><name>azure.blobname</name><description>The name of the Azure blob</description></writesAttribute><writesAttribute><name>azure.primaryUri</name><description>Primary location for blob content</description></writesAttribute><writesAttribute><name>azure.etag</name><description>Etag for the Azure blob</description></writesAttribute><writesAttribute><name>azure.length</name><description>Length of the blob</description></writesAttribute><writesAttribute><name>azure.timestamp</name><description>The timestamp in Azure for the blob</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.ListAzureBlobStorage</see><see>org.apache.nifi.processors.azure.storage.FetchAzureBlobStorage</see><see>org.apache.nifi.processors.azure.storage.DeleteAzureBlobStorage</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.PutAzureBlobStorage_v12</name><type>PROCESSOR</type><description>Puts content into a blob on Azure Blob Storage. The processor uses Azure Blob Storage client library v12.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>blob</tag></tags><properties><property><name>storage-credentials-service</name><displayName>Storage Credentials</displayName><description>Controller Service used to obtain Azure Blob Storage Credentials.</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService_v12</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>container-name</name><displayName>Container Name</displayName><description>Name of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>create-container</name><displayName>Create Container</displayName><description>Specifies whether to check if the container exists and to automatically create it if it does not. Permission to list containers is required. If false, this check is not made, but the Put operation will fail if the container does not exist.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>conflict-resolution-strategy</name><displayName>Conflict Resolution Strategy</displayName><description>Specifies whether an existing blob will have its contents replaced upon conflict.</description><defaultValue>FAIL_RESOLUTION</defaultValue><allowableValues><allowableValue><displayName>fail</displayName><value>FAIL_RESOLUTION</value><description>Fail if the blob already exists</description></allowableValue><allowableValue><displayName>ignore</displayName><value>IGNORE_RESOLUTION</value><description>Ignore if the blob already exists; the 'azure.error' attribute will be set to the value 'BLOB_ALREADY_EXISTS'</description></allowableValue><allowableValue><displayName>replace</displayName><value>REPLACE_RESOLUTION</value><description>Replace blob contents if the blob already exist</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>blob-name</name><displayName>Blob Name</displayName><description>The full name of the blob</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Resource Transfer Source</name><displayName>Resource Transfer Source</displayName><description>The source of the content to be transferred</description><defaultValue>FLOWFILE_CONTENT</defaultValue><allowableValues><allowableValue><displayName>FlowFile Content</displayName><value>FLOWFILE_CONTENT</value><description>The content of the incoming FlowFile provides the source for transfer</description></allowableValue><allowableValue><displayName>File Resource Service</displayName><value>FILE_RESOURCE_SERVICE</value><description>The File Resource Service provides the source for transfer</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>File Resource Service</name><displayName>File Resource Service</displayName><description>File Resource Service providing access to the local resource to be transferred</description><controllerServiceDefinition><className>org.apache.nifi.fileresource.service.api.FileResourceService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Resource Transfer Source</propertyName><propertyDisplayName>Resource Transfer Source</propertyDisplayName><dependentValues><dependentValue>FILE_RESOURCE_SERVICE</dependentValue></dependentValues></dependency></dependencies></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Client-Side Encryption Key Type</name><displayName>Client-Side Encryption Key Type</displayName><description>Specifies the key type to use for client-side encryption.</description><defaultValue>NONE</defaultValue><allowableValues><allowableValue><displayName>NONE</displayName><value>NONE</value><description>Client-Side Encryption disabled</description></allowableValue><allowableValue><displayName>LOCAL</displayName><value>LOCAL</value><description>Client-Side Encryption enabled using local key</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Client-Side Encryption Key ID</name><displayName>Client-Side Encryption Key ID</displayName><description>Specifies the ID of the key to use for client-side encryption.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Client-Side Encryption Key Type</propertyName><propertyDisplayName>Client-Side Encryption Key Type</propertyDisplayName><dependentValues><dependentValue>LOCAL</dependentValue></dependentValues></dependency></dependencies></property><property><name>Client-Side Encryption Local Key</name><displayName>Client-Side Encryption Local Key</displayName><description>When using local client-side encryption, this is the raw key, encoded in hexadecimal</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Client-Side Encryption Key Type</propertyName><propertyDisplayName>Client-Side Encryption Key Type</propertyDisplayName><dependentValues><dependentValue>LOCAL</dependentValue></dependentValues></dependency></dependencies></property></properties><relationships><relationship><name>success</name><description>All successfully processed FlowFiles are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Unsuccessful operations will be transferred to the failure relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>azure.container</name><description>The name of the Azure Blob Storage container</description></writesAttribute><writesAttribute><name>azure.blobname</name><description>The name of the blob on Azure Blob Storage</description></writesAttribute><writesAttribute><name>azure.primaryUri</name><description>Primary location of the blob</description></writesAttribute><writesAttribute><name>azure.etag</name><description>ETag of the blob</description></writesAttribute><writesAttribute><name>azure.blobtype</name><description>Type of the blob (either BlockBlob, PageBlob or AppendBlob)</description></writesAttribute><writesAttribute><name>mime.type</name><description>MIME Type of the content</description></writesAttribute><writesAttribute><name>lang</name><description>Language code for the content</description></writesAttribute><writesAttribute><name>azure.timestamp</name><description>Timestamp of the blob</description></writesAttribute><writesAttribute><name>azure.length</name><description>Length of the blob</description></writesAttribute><writesAttribute><name>azure.error.code</name><description>Error code reported during blob operation</description></writesAttribute><writesAttribute><name>azure.ignored</name><description>When Conflict Resolution Strategy is 'ignore', this property will be true/false depending on whether the blob was ignored.</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.ListAzureBlobStorage_v12</see><see>org.apache.nifi.processors.azure.storage.FetchAzureBlobStorage_v12</see><see>org.apache.nifi.processors.azure.storage.DeleteAzureBlobStorage_v12</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.PutAzureDataLakeStorage</name><type>PROCESSOR</type><description>Writes the contents of a FlowFile as a file on Azure Data Lake Storage Gen 2</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>adlsgen2</tag><tag>datalake</tag></tags><properties><property><name>adls-credentials-service</name><displayName>ADLS Credentials</displayName><description>Controller Service used to obtain Azure Credentials.</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.ADLSCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>filesystem-name</name><displayName>Filesystem Name</displayName><description>Name of the Azure Storage File System (also called Container). It is assumed to be already existing.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>directory-name</name><displayName>Directory Name</displayName><description>Name of the Azure Storage Directory. The Directory Name cannot contain a leading '/'. The root directory can be designated by the empty string value. In case of the PutAzureDataLakeStorage processor, the directory will be created if not already existing.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>file-name</name><displayName>File Name</displayName><description>The filename</description><defaultValue>${azure.filename}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>writing-strategy</name><displayName>Writing Strategy</displayName><description>Defines the approach for writing the Azure file.</description><defaultValue>WRITE_AND_RENAME</defaultValue><allowableValues><allowableValue><displayName>Write and Rename</displayName><value>WRITE_AND_RENAME</value><description>The processor writes the Azure file into a temporary directory and then renames/moves it to the final destination. This prevents other processes from reading partially written files.</description></allowableValue><allowableValue><displayName>Simple Write</displayName><value>SIMPLE_WRITE</value><description>The processor writes the Azure file directly to the destination. This might result in the reading of partially written files.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>base-temporary-path</name><displayName>Base Temporary Path</displayName><description>The Path where the temporary directory will be created. The Path name cannot contain a leading '/'. The root directory can be designated by the empty string value. Non-existing directories will be created.The Temporary File Directory name is _nifitempdirectory</description><defaultValue></defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>writing-strategy</propertyName><propertyDisplayName>Writing Strategy</propertyDisplayName><dependentValues><dependentValue>WRITE_AND_RENAME</dependentValue></dependentValues></dependency></dependencies></property><property><name>conflict-resolution-strategy</name><displayName>Conflict Resolution Strategy</displayName><description>Indicates what should happen when a file with the same name already exists in the output directory</description><defaultValue>fail</defaultValue><allowableValues><allowableValue><displayName>fail</displayName><value>fail</value><description></description></allowableValue><allowableValue><displayName>replace</displayName><value>replace</value><description></description></allowableValue><allowableValue><displayName>ignore</displayName><value>ignore</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Resource Transfer Source</name><displayName>Resource Transfer Source</displayName><description>The source of the content to be transferred</description><defaultValue>FLOWFILE_CONTENT</defaultValue><allowableValues><allowableValue><displayName>FlowFile Content</displayName><value>FLOWFILE_CONTENT</value><description>The content of the incoming FlowFile provides the source for transfer</description></allowableValue><allowableValue><displayName>File Resource Service</displayName><value>FILE_RESOURCE_SERVICE</value><description>The File Resource Service provides the source for transfer</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>File Resource Service</name><displayName>File Resource Service</displayName><description>File Resource Service providing access to the local resource to be transferred</description><controllerServiceDefinition><className>org.apache.nifi.fileresource.service.api.FileResourceService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Resource Transfer Source</propertyName><propertyDisplayName>Resource Transfer Source</propertyDisplayName><dependentValues><dependentValue>FILE_RESOURCE_SERVICE</dependentValue></dependentValues></dependency></dependencies></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>Files that have been successfully written to Azure storage are transferred to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Files that could not be written to Azure storage for some reason are transferred to this relationship</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>azure.filesystem</name><description>The name of the Azure File System</description></writesAttribute><writesAttribute><name>azure.directory</name><description>The name of the Azure Directory</description></writesAttribute><writesAttribute><name>azure.filename</name><description>The name of the Azure File</description></writesAttribute><writesAttribute><name>azure.primaryUri</name><description>Primary location for file content</description></writesAttribute><writesAttribute><name>azure.length</name><description>The length of the Azure File</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.DeleteAzureDataLakeStorage</see><see>org.apache.nifi.processors.azure.storage.FetchAzureDataLakeStorage</see><see>org.apache.nifi.processors.azure.storage.ListAzureDataLakeStorage</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.queue.GetAzureQueueStorage</name><type>PROCESSOR</type><deprecationNotice><reason></reason><alternatives><alternative>org.apache.nifi.processors.azure.storage.queue.GetAzureQueueStorage_v12</alternative></alternatives></deprecationNotice><description>Retrieves the messages from an Azure Queue Storage. The retrieved messages will be deleted from the queue by default. If the requirement is to consume messages without deleting them, set 'Auto Delete Messages' to 'false'. Note: There might be chances of receiving duplicates in situations like when a message is received but was unable to be deleted from the queue due to some unexpected situations.</description><tags><tag>azure</tag><tag>queue</tag><tag>microsoft</tag><tag>storage</tag><tag>dequeue</tag><tag>cloud</tag></tags><properties><property><name>storage-credentials-service</name><displayName>Storage Credentials</displayName><description>The Controller Service used to obtain Azure Storage Credentials. Instead of the processor level properties, the credentials can be configured here through a common/shared controller service, which is the preferred way. The 'Lookup' version of the service can also be used to select the credentials dynamically at runtime based on a FlowFile attribute (if the processor has FlowFile input).</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-name</name><displayName>Storage Account Name</displayName><description>The storage account name. There are certain risks in allowing the account name to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account name to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions. Instead of defining the Storage Account Name, Storage Account Key and SAS Token properties directly on the processor, the preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-key</name><displayName>Storage Account Key</displayName><description>The storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies. There are certain risks in allowing the account key to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account key to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-sas-token</name><displayName>SAS Token</displayName><description>Shared Access Signature token, including the leading '?'. Specify either SAS token (recommended) or Account Key. There are certain risks in allowing the SAS token to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the SAS token to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-endpoint-suffix</name><displayName>Common Storage Account Endpoint Suffix</displayName><description>Storage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions). The preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-queue-name</name><displayName>Queue Name</displayName><description>Name of the Azure Storage Queue</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>auto-delete-messages</name><displayName>Auto Delete Messages</displayName><description>Specifies whether the received message is to be automatically deleted from the queue.</description><defaultValue>true</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>batch-size</name><displayName>Batch Size</displayName><description>The number of messages to be retrieved from the queue.</description><defaultValue>32</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>visibility-timeout</name><displayName>Visibility Timeout</displayName><description>The duration during which the retrieved message should be invisible to other consumers.</description><defaultValue>30 secs</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All successfully processed FlowFiles are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>azure.queue.uri</name><description>The absolute URI of the configured Azure Queue Storage</description></writesAttribute><writesAttribute><name>azure.queue.insertionTime</name><description>The time when the message was inserted into the queue storage</description></writesAttribute><writesAttribute><name>azure.queue.expirationTime</name><description>The time when the message will expire from the queue storage</description></writesAttribute><writesAttribute><name>azure.queue.messageId</name><description>The ID of the retrieved message</description></writesAttribute><writesAttribute><name>azure.queue.popReceipt</name><description>The pop receipt of the retrieved message</description></writesAttribute></writesAttributes><inputRequirement>INPUT_FORBIDDEN</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.queue.PutAzureQueueStorage</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.queue.GetAzureQueueStorage_v12</name><type>PROCESSOR</type><description>Retrieves the messages from an Azure Queue Storage. The retrieved messages will be deleted from the queue by default. If the requirement is to consume messages without deleting them, set 'Auto Delete Messages' to 'false'. Note: There might be chances of receiving duplicates in situations like when a message is received but was unable to be deleted from the queue due to some unexpected situations.</description><tags><tag>azure</tag><tag>queue</tag><tag>microsoft</tag><tag>storage</tag><tag>dequeue</tag><tag>cloud</tag></tags><properties><property><name>Queue Name</name><displayName>Queue Name</displayName><description>Name of the Azure Storage Queue</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-endpoint-suffix</name><displayName>Endpoint Suffix</displayName><description>Storage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions).</description><defaultValue>queue.core.windows.net</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Credentials Service</name><displayName>Credentials Service</displayName><description>Controller Service used to obtain Azure Storage Credentials.</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService_v12</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Auto Delete Messages</name><displayName>Auto Delete Messages</displayName><description>Specifies whether the received message is to be automatically deleted from the queue.</description><defaultValue>true</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Message Batch Size</name><displayName>Message Batch Size</displayName><description>The number of messages to be retrieved from the queue.</description><defaultValue>32</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Visibility Timeout</name><displayName>Visibility Timeout</displayName><description>The duration during which the retrieved message should be invisible to other consumers.</description><defaultValue>30 secs</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Request Timeout</name><displayName>Request Timeout</displayName><description>The timeout for read or write requests to Azure Queue Storage. Defaults to 1 second.</description><defaultValue>10 secs</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All successfully processed FlowFiles are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>azure.queue.uri</name><description>The absolute URI of the configured Azure Queue Storage</description></writesAttribute><writesAttribute><name>azure.queue.insertionTime</name><description>The time when the message was inserted into the queue storage</description></writesAttribute><writesAttribute><name>azure.queue.expirationTime</name><description>The time when the message will expire from the queue storage</description></writesAttribute><writesAttribute><name>azure.queue.messageId</name><description>The ID of the retrieved message</description></writesAttribute><writesAttribute><name>azure.queue.popReceipt</name><description>The pop receipt of the retrieved message</description></writesAttribute></writesAttributes><inputRequirement>INPUT_FORBIDDEN</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.queue.PutAzureQueueStorage</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.queue.PutAzureQueueStorage</name><type>PROCESSOR</type><deprecationNotice><reason></reason><alternatives><alternative>org.apache.nifi.processors.azure.storage.queue.PutAzureQueueStorage_v12</alternative></alternatives></deprecationNotice><description>Writes the content of the incoming FlowFiles to the configured Azure Queue Storage.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>queue</tag><tag>enqueue</tag></tags><properties><property><name>storage-credentials-service</name><displayName>Storage Credentials</displayName><description>The Controller Service used to obtain Azure Storage Credentials. Instead of the processor level properties, the credentials can be configured here through a common/shared controller service, which is the preferred way. The 'Lookup' version of the service can also be used to select the credentials dynamically at runtime based on a FlowFile attribute (if the processor has FlowFile input).</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-name</name><displayName>Storage Account Name</displayName><description>The storage account name. There are certain risks in allowing the account name to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account name to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions. Instead of defining the Storage Account Name, Storage Account Key and SAS Token properties directly on the processor, the preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-key</name><displayName>Storage Account Key</displayName><description>The storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies. There are certain risks in allowing the account key to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account key to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-sas-token</name><displayName>SAS Token</displayName><description>Shared Access Signature token, including the leading '?'. Specify either SAS token (recommended) or Account Key. There are certain risks in allowing the SAS token to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the SAS token to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-endpoint-suffix</name><displayName>Common Storage Account Endpoint Suffix</displayName><description>Storage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions). The preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>time-to-live</name><displayName>TTL</displayName><description>Maximum time to allow the message to be in the queue. If left empty, the default value of 7 days will be used.</description><defaultValue>7 days</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-queue-name</name><displayName>Queue Name</displayName><description>Name of the Azure Storage Queue</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>visibility-delay</name><displayName>Visibility Delay</displayName><description>The length of time during which the message will be invisible, starting when it is added to the queue. This value must be greater than or equal to 0 and less than the TTL value.</description><defaultValue>0 secs</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All successfully processed FlowFiles are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Unsuccessful operations will be transferred to the failure relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.queue.GetAzureQueueStorage</see></seeAlso></extension><extension><name>org.apache.nifi.processors.azure.storage.queue.PutAzureQueueStorage_v12</name><type>PROCESSOR</type><description>Writes the content of the incoming FlowFiles to the configured Azure Queue Storage.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>queue</tag><tag>enqueue</tag></tags><properties><property><name>Queue Name</name><displayName>Queue Name</displayName><description>Name of the Azure Storage Queue</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-endpoint-suffix</name><displayName>Endpoint Suffix</displayName><description>Storage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions).</description><defaultValue>queue.core.windows.net</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Credentials Service</name><displayName>Credentials Service</displayName><description>Controller Service used to obtain Azure Storage Credentials.</description><controllerServiceDefinition><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService_v12</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Message Time To Live</name><displayName>Message Time To Live</displayName><description>Maximum time to allow the message to be in the queue</description><defaultValue>7 days</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Visibility Timeout</name><displayName>Visibility Timeout</displayName><description>The length of time during which the message will be invisible after it is read. If the processing unit fails to delete the message after it is read, then the message will reappear in the queue.</description><defaultValue>30 secs</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Request Timeout</name><displayName>Request Timeout</displayName><description>The timeout for read or write requests to Azure Queue Storage. Defaults to 1 second.</description><defaultValue>10 secs</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All successfully processed FlowFiles are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Unsuccessful operations will be transferred to the failure relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.azure.storage.queue.GetAzureQueueStorage_v12</see></seeAlso></extension><extension><name>org.apache.nifi.services.azure.StandardAzureCredentialsControllerService</name><type>CONTROLLER_SERVICE</type><description>Provide credentials to use with an Azure client.</description><tags><tag>azure</tag><tag>security</tag><tag>credentials</tag><tag>provider</tag><tag>session</tag></tags><properties><property><name>credential-configuration-strategy</name><displayName>Credential Configuration Strategy</displayName><description></description><defaultValue>default-credential</defaultValue><allowableValues><allowableValue><displayName>Default Credential</displayName><value>default-credential</value><description>Uses default credential chain. It first checks environment variables, before trying managed identity.</description></allowableValue><allowableValue><displayName>Managed Identity</displayName><value>managed-identity</value><description>Azure Virtual Machine Managed Identity (it can only be used when NiFi is running on Azure)</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>managed-identity-client-id</name><displayName>Managed Identity Client ID</displayName><description>Client ID of the managed identity. The property is required when User Assigned Managed Identity is used for authentication. It must be empty in case of System Assigned Managed Identity.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>credential-configuration-strategy</propertyName><propertyDisplayName>Credential Configuration Strategy</propertyDisplayName><dependentValues><dependentValue>managed-identity</dependentValue></dependentValues></dependency></dependencies></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.services.azure.AzureCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.services.azure.cosmos.document.AzureCosmosDBClientService</name><type>CONTROLLER_SERVICE</type><description>Provides a controller service that configures a connection to Cosmos DB (Core SQL API)  and provides access to that connection to other Cosmos DB-related components.</description><tags><tag>azure</tag><tag>cosmos</tag><tag>document</tag><tag>service</tag></tags><properties><property><name>azure-cosmos-db-uri</name><displayName>Cosmos DB URI</displayName><description>Cosmos DB URI, typically in the form of https://{databaseaccount}.documents.azure.com:443/ Note this host URL is for Cosmos DB with Core SQL API from Azure Portal (Overview-&gt;URI)</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>azure-cosmos-db-key</name><displayName>Cosmos DB Access Key</displayName><description>Cosmos DB Access Key from Azure Portal (Settings-&gt;Keys). Choose a read-write key to enable database or container creation at run time</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>azure-cosmos-db-consistency-level</name><displayName>Cosmos DB Consistency Level</displayName><description>Choose from five consistency levels on the consistency spectrum. Refer to Cosmos DB documentation for their differences</description><defaultValue>SESSION</defaultValue><allowableValues><allowableValue><displayName>STRONG</displayName><value>STRONG</value><description></description></allowableValue><allowableValue><displayName>BOUNDED_STALENESS</displayName><value>BOUNDED_STALENESS</value><description></description></allowableValue><allowableValue><displayName>SESSION</displayName><value>SESSION</value><description></description></allowableValue><allowableValue><displayName>CONSISTENT_PREFIX</displayName><value>CONSISTENT_PREFIX</value><description></description></allowableValue><allowableValue><displayName>EVENTUAL</displayName><value>EVENTUAL</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.services.azure.cosmos.AzureCosmosDBConnectionService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.services.azure.eventhub.AzureEventHubRecordSink</name><type>CONTROLLER_SERVICE</type><description>Format and send Records to Azure Event Hubs</description><tags><tag>azure</tag><tag>record</tag><tag>sink</tag></tags><properties><property><name>Service Bus Endpoint</name><displayName>Service Bus Endpoint</displayName><description>Provides the domain for connecting to Azure Event Hubs</description><defaultValue>.servicebus.windows.net</defaultValue><allowableValues><allowableValue><displayName>Azure</displayName><value>.servicebus.windows.net</value><description>Default Service Bus Endpoint</description></allowableValue><allowableValue><displayName>Azure China</displayName><value>.servicebus.chinacloudapi.cn</value><description>China Service Bus Endpoint</description></allowableValue><allowableValue><displayName>Azure Germany</displayName><value>.servicebus.cloudapi.de</value><description>Germany Service Bus Endpoint</description></allowableValue><allowableValue><displayName>Azure US Government</displayName><value>.servicebus.usgovcloudapi.net</value><description>United States Government Endpoint</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Event Hub Namespace</name><displayName>Event Hub Namespace</displayName><description>Provides provides the host for connecting to Azure Event Hubs</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Event Hub Name</name><displayName>Event Hub Name</displayName><description>Provides the Event Hub Name for connections</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Transport Type</name><displayName>Transport Type</displayName><description>Advanced Message Queuing Protocol Transport Type for communication with Azure Event Hubs</description><defaultValue>Amqp</defaultValue><allowableValues><allowableValue><displayName>AMQP</displayName><value>Amqp</value><description>AMQP over TCP on ports 5671 and 5672</description></allowableValue><allowableValue><displayName>AMQP_WEB_SOCKETS</displayName><value>AmqpWebSockets</value><description>AMQP over HTTPS with WebSockets on port 443</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>record-sink-record-writer</name><displayName>Record Writer</displayName><description>Specifies the Controller Service to use for writing out the records.</description><controllerServiceDefinition><className>org.apache.nifi.serialization.RecordSetWriterFactory</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Authentication Strategy</name><displayName>Authentication Strategy</displayName><description>Strategy for authenticating to Azure Event Hubs</description><defaultValue>DEFAULT_AZURE_CREDENTIAL</defaultValue><allowableValues><allowableValue><displayName>Shared Access Key</displayName><value>SHARED_ACCESS_KEY</value><description>Azure Event Hub shared access key</description></allowableValue><allowableValue><displayName>Default Azure Credential</displayName><value>DEFAULT_AZURE_CREDENTIAL</value><description>The Default Azure Credential will read credentials from standard environment variables and will also attempt to read Managed Identity credentials when running in Microsoft Azure environments</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Shared Access Policy</name><displayName>Shared Access Policy</displayName><description>The name of the shared access policy. This policy must have Send claims</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Authentication Strategy</propertyName><propertyDisplayName>Authentication Strategy</propertyDisplayName><dependentValues><dependentValue>SHARED_ACCESS_KEY</dependentValue></dependentValues></dependency></dependencies></property><property><name>Shared Access Policy Key</name><displayName>Shared Access Policy Key</displayName><description>The primary or secondary key of the shared access policy</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Authentication Strategy</propertyName><propertyDisplayName>Authentication Strategy</propertyDisplayName><dependentValues><dependentValue>SHARED_ACCESS_KEY</dependentValue></dependentValues></dependency></dependencies></property><property><name>Partition Key</name><displayName>Partition Key</displayName><description>A hint for Azure Event Hub message broker how to distribute messages across one or more partitions</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.record.sink.RecordSinkService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.services.azure.storage.ADLSCredentialsControllerService</name><type>CONTROLLER_SERVICE</type><description>Defines credentials for ADLS processors.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>adls</tag><tag>credentials</tag></tags><properties><property><name>storage-account-name</name><displayName>Storage Account Name</displayName><description>The storage account name. There are certain risks in allowing the account name to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account name to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-endpoint-suffix</name><displayName>Endpoint Suffix</displayName><description>Storage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions).</description><defaultValue>dfs.core.windows.net</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-key</name><displayName>Storage Account Key</displayName><description>The storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies. There are certain risks in allowing the account key to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account key to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-sas-token</name><displayName>SAS Token</displayName><description>Shared Access Signature token, including the leading '?'. Specify either SAS token (recommended) or Account Key. There are certain risks in allowing the SAS token to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the SAS token to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-use-managed-identity</name><displayName>Use Azure Managed Identity</displayName><description>Choose whether or not to use the managed identity of Azure VM/VMSS</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>managed-identity-client-id</name><displayName>Managed Identity Client ID</displayName><description>Client ID of the managed identity. The property is required when User Assigned Managed Identity is used for authentication. It must be empty in case of System Assigned Managed Identity.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>service-principal-tenant-id</name><displayName>Service Principal Tenant ID</displayName><description>Tenant ID of the Azure Active Directory hosting the Service Principal. The property is required when Service Principal authentication is used.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>service-principal-client-id</name><displayName>Service Principal Client ID</displayName><description>Client ID (or Application ID) of the Client/Application having the Service Principal. The property is required when Service Principal authentication is used.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>service-principal-client-secret</name><displayName>Service Principal Client Secret</displayName><description>Password of the Client/Application. The property is required when Service Principal authentication is used.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.services.azure.storage.ADLSCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.services.azure.storage.ADLSCredentialsControllerServiceLookup</name><type>CONTROLLER_SERVICE</type><description>Provides an ADLSCredentialsService that can be used to dynamically select another ADLSCredentialsService. This service requires an attribute named 'adls.credentials.name' to be passed in, and will throw an exception if the attribute is missing. The value of 'adls.credentials.name' will be used to select the ADLSCredentialsService that has been registered with that name. This will allow multiple ADLSCredentialsServices to be defined and registered, and then selected dynamically at runtime by tagging flow files with the appropriate 'adls.credentials.name' attribute.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>adls</tag><tag>credentials</tag></tags><dynamicProperties><dynamicProperty><name>The name to register ADLSCredentialsService</name><value>The ADLSCredentialsService</value><description>If 'adls.credentials.name' attribute contains the name of the dynamic property, then the ADLSCredentialsService (registered in the value) will be selected.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope></dynamicProperty></dynamicProperties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.services.azure.storage.ADLSCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.services.azure.storage.AzureStorageCredentialsControllerService</name><type>CONTROLLER_SERVICE</type><description>Defines credentials for Azure Storage processors. Uses Account Name with Account Key or Account Name with SAS Token.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>blob</tag><tag>queue</tag><tag>credentials</tag></tags><properties><property><name>storage-account-name</name><displayName>Storage Account Name</displayName><description>The storage account name. There are certain risks in allowing the account name to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account name to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-key</name><displayName>Storage Account Key</displayName><description>The storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies. There are certain risks in allowing the account key to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account key to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-sas-token</name><displayName>SAS Token</displayName><description>Shared Access Signature token, including the leading '?'. Specify either SAS token (recommended) or Account Key. There are certain risks in allowing the SAS token to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the SAS token to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-endpoint-suffix</name><displayName>Common Storage Account Endpoint Suffix</displayName><description>Storage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions). The preferred way is to configure them through a controller service specified in the Storage Credentials property. The controller service can provide a common/shared configuration for multiple/all Azure processors. Furthermore, the credentials can also be looked up dynamically with the 'Lookup' version of the service.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.services.azure.storage.AzureStorageCredentialsControllerServiceLookup</name><type>CONTROLLER_SERVICE</type><description>Provides an AzureStorageCredentialsService that can be used to dynamically select another AzureStorageCredentialsService. This service requires an attribute named 'azure.storage.credentials.name' to be passed in, and will throw an exception if the attribute is missing. The value of 'azure.storage.credentials.name' will be used to select the AzureStorageCredentialsService that has been registered with that name. This will allow multiple AzureStorageCredentialsServices to be defined and registered, and then selected dynamically at runtime by tagging flow files with the appropriate 'azure.storage.credentials.name' attribute.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>blob</tag><tag>queue</tag><tag>credentials</tag></tags><dynamicProperties><dynamicProperty><name>The name to register AzureStorageCredentialsService</name><value>The AzureStorageCredentialsService</value><description>If 'azure.storage.credentials.name' attribute contains the name of the dynamic property, then the AzureStorageCredentialsService (registered in the value) will be selected.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope></dynamicProperty></dynamicProperties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.services.azure.storage.AzureStorageCredentialsControllerServiceLookup_v12</name><type>CONTROLLER_SERVICE</type><description>Provides an AzureStorageCredentialsService_v12 that can be used to dynamically select another AzureStorageCredentialsService_v12. This service requires an attribute named 'azure.storage.credentials.name' to be passed in, and will throw an exception if the attribute is missing. The value of 'azure.storage.credentials.name' will be used to select the AzureStorageCredentialsService_v12 that has been registered with that name. This will allow multiple AzureStorageCredentialsServices_v12 to be defined and registered, and then selected dynamically at runtime by tagging flow files with the appropriate 'azure.storage.credentials.name' attribute.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>blob</tag><tag>queue</tag><tag>credentials</tag></tags><dynamicProperties><dynamicProperty><name>The name to register AzureStorageCredentialsService_v12</name><value>The AzureStorageCredentialsService_v12</value><description>If 'azure.storage.credentials.name' attribute contains the name of the dynamic property, then the AzureStorageCredentialsService_v12 (registered in the value) will be selected.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope></dynamicProperty></dynamicProperties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService_v12</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.services.azure.storage.AzureStorageCredentialsControllerService_v12</name><type>CONTROLLER_SERVICE</type><description>Provides credentials for Azure Storage processors using Azure Storage client library v12.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>cloud</tag><tag>storage</tag><tag>blob</tag><tag>credentials</tag><tag>queue</tag></tags><properties><property><name>storage-account-name</name><displayName>Storage Account Name</displayName><description>The storage account name.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-endpoint-suffix</name><displayName>Endpoint Suffix</displayName><description>Storage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions).</description><defaultValue>blob.core.windows.net</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>credentials-type</name><displayName>Credentials Type</displayName><description>Credentials type to be used for authenticating to Azure</description><defaultValue>SAS_TOKEN</defaultValue><allowableValues><allowableValue><displayName>Account Key</displayName><value>ACCOUNT_KEY</value><description>The primary or secondary Account Key of the storage account that provides full access to the resources in the account</description></allowableValue><allowableValue><displayName>SAS Token</displayName><value>SAS_TOKEN</value><description>SAS (Shared Access Signature) Token generated for accessing resources in the storage account</description></allowableValue><allowableValue><displayName>Managed Identity</displayName><value>MANAGED_IDENTITY</value><description>Azure Virtual Machine Managed Identity (it can only be used when NiFi is running on Azure)</description></allowableValue><allowableValue><displayName>Service Principal</displayName><value>SERVICE_PRINCIPAL</value><description>Azure Active Directory Service Principal with Client Id / Client Secret of a registered application</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>storage-account-key</name><displayName>Account Key</displayName><description>The storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>credentials-type</propertyName><propertyDisplayName>Credentials Type</propertyDisplayName><dependentValues><dependentValue>ACCOUNT_KEY</dependentValue></dependentValues></dependency></dependencies></property><property><name>storage-sas-token</name><displayName>SAS Token</displayName><description>Shared Access Signature token, including the leading '?'. Specify either SAS token (recommended) or Account Key.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>credentials-type</propertyName><propertyDisplayName>Credentials Type</propertyDisplayName><dependentValues><dependentValue>SAS_TOKEN</dependentValue></dependentValues></dependency></dependencies></property><property><name>managed-identity-client-id</name><displayName>Managed Identity Client ID</displayName><description>Client ID of the managed identity. The property is required when User Assigned Managed Identity is used for authentication. It must be empty in case of System Assigned Managed Identity.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>credentials-type</propertyName><propertyDisplayName>Credentials Type</propertyDisplayName><dependentValues><dependentValue>MANAGED_IDENTITY</dependentValue></dependentValues></dependency></dependencies></property><property><name>service-principal-tenant-id</name><displayName>Service Principal Tenant ID</displayName><description>Tenant ID of the Azure Active Directory hosting the Service Principal. The property is required when Service Principal authentication is used.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>credentials-type</propertyName><propertyDisplayName>Credentials Type</propertyDisplayName><dependentValues><dependentValue>SERVICE_PRINCIPAL</dependentValue></dependentValues></dependency></dependencies></property><property><name>service-principal-client-id</name><displayName>Service Principal Client ID</displayName><description>Client ID (or Application ID) of the Client/Application having the Service Principal. The property is required when Service Principal authentication is used.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>credentials-type</propertyName><propertyDisplayName>Credentials Type</propertyDisplayName><dependentValues><dependentValue>SERVICE_PRINCIPAL</dependentValue></dependentValues></dependency></dependencies></property><property><name>service-principal-client-secret</name><displayName>Service Principal Client Secret</displayName><description>Password of the Client/Application. The property is required when Service Principal authentication is used.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>credentials-type</propertyName><propertyDisplayName>Credentials Type</propertyDisplayName><dependentValues><dependentValue>SERVICE_PRINCIPAL</dependentValue></dependentValues></dependency></dependencies></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: SOCKS, HTTP In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.27.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>credentials-type</propertyName><propertyDisplayName>Credentials Type</propertyDisplayName><dependentValues><dependentValue>SERVICE_PRINCIPAL</dependentValue><dependentValue>MANAGED_IDENTITY</dependentValue></dependentValues></dependency></dependencies></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService_v12</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.services.azure.storage.AzureStorageEmulatorCredentialsControllerService</name><type>CONTROLLER_SERVICE</type><description>Defines credentials for Azure Storage processors that connects to Azurite emulator.</description><tags><tag>azure</tag><tag>microsoft</tag><tag>emulator</tag><tag>storage</tag><tag>blob</tag><tag>queue</tag><tag>credentials</tag></tags><properties><property><name>azurite-uri</name><displayName>Storage Emulator URI</displayName><description>URI to connect to Azure Storage Emulator (Azurite)</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.services.azure.storage.AzureStorageCredentialsService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-azure-services-api-nar</artifactId><version>1.27.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.reporting.azure.loganalytics.AzureLogAnalyticsProvenanceReportingTask</name><type>REPORTING_TASK</type><description>Publishes Provenance events to to a Azure Log Analytics workspace.</description><tags><tag>azure</tag><tag>provenace</tag><tag>reporting</tag><tag>log analytics</tag></tags><properties><property><name>Log Analytics Workspace Id</name><displayName>Log Analytics Workspace Id</displayName><description>Log Analytics Workspace Id</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Log Analytics Custom Log Name</name><displayName>Log Analytics Custom Log Name</displayName><description>Log Analytics Custom Log Name</description><defaultValue>nifiprovenance</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Log Analytics Workspace Key</name><displayName>Log Analytics Workspace Key</displayName><description>Azure Log Analytic Worskspace Key</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Application ID</name><displayName>Application ID</displayName><description>The Application ID to be included in the metrics sent to Azure Log Analytics WS</description><defaultValue>nifi</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Instance ID</name><displayName>Instance ID</displayName><description>Id of this NiFi instance to be included in the metrics sent to Azure Log Analytics WS</description><defaultValue>${hostname(true)}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Job Name</name><displayName>Job Name</displayName><description>The name of the exporting job</description><defaultValue>nifi_reporting_job</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Log Analytics URL Endpoint Format</name><displayName>Log Analytics URL Endpoint Format</displayName><description>Log Analytics URL Endpoint Format</description><defaultValue>https://{0}.ods.opinsights.azure.com/api/logs?api-version=2016-04-01</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>s2s-prov-task-event-filter</name><displayName>Event Type to Include</displayName><description>Comma-separated list of event types that will be used to filter the provenance events sent by the reporting task. Available event types are [CREATE, RECEIVE, FETCH, SEND, REMOTE_INVOCATION, DOWNLOAD, DROP, EXPIRE, FORK, JOIN, CLONE, CONTENT_MODIFIED, ATTRIBUTES_MODIFIED, ROUTE, ADDINFO, REPLAY, UNKNOWN]. If no filter is set, all the events are sent. If multiple filters are set, the filters are cumulative.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>s2s-prov-task-event-filter-exclude</name><displayName>Event Type to Exclude</displayName><description>Comma-separated list of event types that will be used to exclude the provenance events sent by the reporting task. Available event types are [CREATE, RECEIVE, FETCH, SEND, REMOTE_INVOCATION, DOWNLOAD, DROP, EXPIRE, FORK, JOIN, CLONE, CONTENT_MODIFIED, ATTRIBUTES_MODIFIED, ROUTE, ADDINFO, REPLAY, UNKNOWN]. If no filter is set, all the events are sent. If multiple filters are set, the filters are cumulative. If an event type is included in Event Type to Include and excluded here, then the exclusion takes precedence and the event will not be sent.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>s2s-prov-task-type-filter</name><displayName>Component Type to Include</displayName><description>Regular expression to filter the provenance events based on the component type. Only the events matching the regular expression will be sent. If no filter is set, all the events are sent. If multiple filters are set, the filters are cumulative.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>s2s-prov-task-type-filter-exclude</name><displayName>Component Type to Exclude</displayName><description>Regular expression to exclude the provenance events based on the component type. The events matching the regular expression will not be sent. If no filter is set, all the events are sent. If multiple filters are set, the filters are cumulative. If a component type is included in Component Type to Include and excluded here, then the exclusion takes precedence and the event will not be sent.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>s2s-prov-task-id-filter</name><displayName>Component ID to Include</displayName><description>Comma-separated list of component UUID that will be used to filter the provenance events sent by the reporting task. If no filter is set, all the events are sent. If multiple filters are set, the filters are cumulative.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>s2s-prov-task-id-filter-exclude</name><displayName>Component ID to Exclude</displayName><description>Comma-separated list of component UUID that will be used to exclude the provenance events sent by the reporting task. If no filter is set, all the events are sent. If multiple filters are set, the filters are cumulative. If a component UUID is included in Component ID to Include and excluded here, then the exclusion takes precedence and the event will not be sent.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>s2s-prov-task-name-filter</name><displayName>Component Name to Include</displayName><description>Regular expression to filter the provenance events based on the component name. Only the events matching the regular expression will be sent. If no filter is set, all the events are sent. If multiple filters are set, the filters are cumulative.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>s2s-prov-task-name-filter-exclude</name><displayName>Component Name to Exclude</displayName><description>Regular expression to exclude the provenance events based on the component name. The events matching the regular expression will not be sent. If no filter is set, all the events are sent. If multiple filters are set, the filters are cumulative. If a component name is included in Component Name to Include and excluded here, then the exclusion takes precedence and the event will not be sent.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>start-position</name><displayName>Start Position</displayName><description>If the Reporting Task has never been run, or if its state has been reset by a user, specifies where in the stream of Provenance Events the Reporting Task should start</description><defaultValue>beginning-of-stream</defaultValue><allowableValues><allowableValue><displayName>Beginning of Stream</displayName><value>beginning-of-stream</value><description>Start reading provenance Events from the beginning of the stream (the oldest event first)</description></allowableValue><allowableValue><displayName>End of Stream</displayName><value>end-of-stream</value><description>Start reading provenance Events from the end of the stream, ignoring old events</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>include-null-values</name><displayName>Include Null Values</displayName><description>Indicate if null values should be included in records. Default will be false</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Platform</name><displayName>Platform</displayName><description>The value to use for the platform field in each event.</description><defaultValue>nifi</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Instance URL</name><displayName>Instance URL</displayName><description>The URL of this instance to use in the Content URI of each event.</description><defaultValue>http://${hostname(true)}:8080/nifi</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Batch Size</name><displayName>Batch Size</displayName><description>Specifies how many records to send in a single batch, at most.</description><defaultValue>1000</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties></extension><extension><name>org.apache.nifi.reporting.azure.loganalytics.AzureLogAnalyticsReportingTask</name><type>REPORTING_TASK</type><description>Sends JVM-metrics as well as Apache NiFi-metrics to a Azure Log Analytics workspace.Apache NiFi-metrics can be either configured global or on process-group level.</description><tags><tag>azure</tag><tag>metrics</tag><tag>reporting</tag><tag>log analytics</tag></tags><properties><property><name>Send JVM Metrics</name><displayName>Send JVM Metrics</displayName><description>Send JVM Metrics in addition to the NiFi-metrics</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Log Analytics Workspace Id</name><displayName>Log Analytics Workspace Id</displayName><description>Log Analytics Workspace Id</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Log Analytics Custom Log Name</name><displayName>Log Analytics Custom Log Name</displayName><description>Log Analytics Custom Log Name</description><defaultValue>nifimetrics</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Log Analytics Workspace Key</name><displayName>Log Analytics Workspace Key</displayName><description>Azure Log Analytic Worskspace Key</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Application ID</name><displayName>Application ID</displayName><description>The Application ID to be included in the metrics sent to Azure Log Analytics WS</description><defaultValue>nifi</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Instance ID</name><displayName>Instance ID</displayName><description>Id of this NiFi instance to be included in the metrics sent to Azure Log Analytics WS</description><defaultValue>${hostname(true)}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Process group ID(s)</name><displayName>Process group ID(s)</displayName><description>If specified, the reporting task will send metrics the configured ProcessGroup(s) only. Multiple IDs should be separated by a comma. If none of the group-IDs could be found or no IDs are defined, the Root Process Group is used and global metrics are sent.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Job Name</name><displayName>Job Name</displayName><description>The name of the exporting job</description><defaultValue>nifi_reporting_job</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Log Analytics URL Endpoint Format</name><displayName>Log Analytics URL Endpoint Format</displayName><description>Log Analytics URL Endpoint Format</description><defaultValue>https://{0}.ods.opinsights.azure.com/api/logs?api-version=2016-04-01</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><defaultSchedule><strategy>TIMER_DRIVEN</strategy><period>1 min</period><concurrentTasks>1</concurrentTasks></defaultSchedule></extension></extensions></extensionManifest>