Koji Kawamura created NIFI-4769: ----------------------------------- Summary: PutAzureBlobStorage and FetchAzureBlobStorage should be able to use incoming FlowFile with EL to create connection string Key: NIFI-4769 URL: https://issues.apache.org/jira/browse/NIFI-4769 Project: Apache NiFi Issue Type: Bug Components: Extensions Reporter: Koji Kawamura
The latest change made by NIFI-4005 can break existing flows if Put or Fetch AzureBlobStorage is configured to use incoming FlowFile attribute with EL for accountName or accountKey. PutAzureBlobStorage and FetchAzureBlobStorage used to be able to [specify key and account name from incoming FlowFile using EL|https://github.com/apache/nifi/pull/1886/files#diff-a1be985cab6af1d412dbb21c5750e42aL76]. But the change removed that capability mistakenly. Following error messages are logged if this happens: {code} 2018-01-12 09:59:58,445 ERROR [Timer-Driven Process Thread-7] o.a.n.p.a.storage.PutAzureBlobStorage PutAzureBlobStorage[id=045a9107-a6f1-363f-bd95-1ba8abd7ee09] Invalid connection string URI for 'PutAzureBlobStorage': java.lang.IllegalArgumentException: Invalid connection string. java.lang.IllegalArgumentException: Invalid connection string. at com.microsoft.azure.storage.CloudStorageAccount.parse(CloudStorageAccount.java:249) at org.apache.nifi.processors.azure.storage.utils.AzureStorageUtils.createCloudBlobClient(AzureStorageUtils.java:96) at org.apache.nifi.processors.azure.storage.PutAzureBlobStorage.onTrigger(PutAzureBlobStorage.java:75) at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1122) at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:147) at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47) at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:128) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)