[
https://issues.apache.org/jira/browse/NIFI-1833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15955447#comment-15955447
]
ASF GitHub Bot commented on NIFI-1833:
--------------------------------------
Github user jtstorck commented on a diff in the pull request:
https://github.com/apache/nifi/pull/1636#discussion_r109723701
--- Diff:
nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/src/main/java/org/apache/nifi/processors/azure/AbstractAzureBlobProcessor.java
---
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.processors.azure;
+
+import java.net.URISyntaxException;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import com.microsoft.azure.storage.StorageException;
+import com.microsoft.azure.storage.blob.CloudBlob;
+import com.microsoft.azure.storage.blob.CloudBlobContainer;
+
+public abstract class AbstractAzureBlobProcessor extends
AbstractAzureProcessor {
+
+ public static final PropertyDescriptor BLOB = new
PropertyDescriptor.Builder().name("Blob").description("The filename of the
blob").addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+
.expressionLanguageSupported(true).required(true).defaultValue("${azure.blobname}").build();
+
+ public static final PropertyDescriptor BLOB_TYPE = new
PropertyDescriptor.Builder()
+ .name("Blob type")
+ .description("Blobs can be block type of page type")
+ .expressionLanguageSupported(true)
+ .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+ .allowableValues(AzureConstants.BLOCK, AzureConstants.PAGE)
+ .defaultValue(AzureConstants.BLOCK.getValue())
+ .required(true).build();
+
+ public static final List<PropertyDescriptor> properties = Collections
+ .unmodifiableList(Arrays.asList(AzureConstants.ACCOUNT_NAME,
AzureConstants.ACCOUNT_KEY, AzureConstants.CONTAINER, BLOB, BLOB_TYPE));
+
+ @Override
+ protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
+ return properties;
+ }
+
+ /**
+ * Get a reference to a blob based on the type.
+ *
+ */
+ protected CloudBlob getBlob(CloudBlobContainer container, String
blobType, String blobPath) throws URISyntaxException, StorageException {
--- End diff --
Should blobType be checked more explicitly here? If blobType doesn't match
the case of "Block", won't this end up returning a page blob? If an invalid
blobType is passed in, is it appropriate that a page blob is returned, or
should a ProcessorException be thrown?
> Add support for Azure Blob Storage and Table Storage
> ----------------------------------------------------
>
> Key: NIFI-1833
> URL: https://issues.apache.org/jira/browse/NIFI-1833
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Extensions
> Affects Versions: 0.6.1
> Reporter: Simon Elliston Ball
> Priority: Minor
>
> It would be useful to have an Azure equivalent of the current S3 capability.
> Azure also provides a Table storage mechanism, providing simple key value
> storage. Since the Azure SDKs are Apache Licensed, this should be reasonably
> straightforward. A first cut is available as an addition to the existing
> azure bundle.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)