Skip to main content

FetchAzureBlobStorage_v12

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.

Tags

azure, blob, cloud, microsoft, storage

Properties

In the list below required Properties are shown with an asterisk (*). Other properties are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Storage Credentials *storage-credentials-serviceController Service:
AzureStorageCredentialsService_v12

Implementations:
AzureStorageCredentialsControllerServiceLookup_v12
AzureStorageCredentialsControllerService_v12
Controller Service used to obtain Azure Blob Storage Credentials.
Container Name *container-name${azure.container}Name of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.

Supports Expression Language, using FlowFile attributes and Environment variables.
Blob Name *blob-name${azure.blobname}The full name of the blob

Supports Expression Language, using FlowFile attributes and Environment variables.
Range Startrange-startThe 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.

Supports Expression Language, using FlowFile attributes and Environment variables.
Range Lengthrange-lengthThe 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.

Supports Expression Language, using FlowFile attributes and Environment variables.
Proxy Configuration Serviceproxy-configuration-serviceController Service:
ProxyConfigurationService

Implementations:
StandardProxyConfigurationService
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.
Client-Side Encryption Key Type *Client-Side Encryption Key TypeNONE
  • NONE
  • LOCAL
Specifies the key type to use for client-side encryption.
Client-Side Encryption Key ID *Client-Side Encryption Key IDSpecifies the ID of the key to use for client-side encryption.

Supports Expression Language, using FlowFile attributes and Environment variables.

This property is only considered if:
  • the property Client-Side Encryption Key Type has a value of LOCAL
Client-Side Encryption Local Key *Client-Side Encryption Local KeyWhen using local client-side encryption, this is the raw key, encoded in hexadecimal

This property is only considered if:
  • the property Client-Side Encryption Key Type has a value of LOCAL

Dynamic Properties

This component does not support dynamic properties.

Relationships

NameDescription
failureUnsuccessful operations will be transferred to the failure relationship.
successAll successfully processed FlowFiles are routed to this relationship

Reads Attributes

This processor does not read attributes.

Writes Attributes

NameDescription
azure.blobnameThe name of the blob on Azure Blob Storage
azure.blobtypeType of the blob (either BlockBlob, PageBlob or AppendBlob)
azure.containerThe name of the Azure Blob Storage container
azure.etagETag of the blob
azure.lengthLength of the blob
azure.primaryUriPrimary location of the blob
azure.timestampTimestamp of the blob
langLanguage code for the content
mime.typeMIME Type of the content

State Management

This component does not store state.

Restricted

This component is not restricted.

Input Requirement

This component requires an incoming relationship.

Example Use Cases Involving Other Components

Multiprocessor Use Case 1

Retrieve all files in an Azure Blob Storage container

Components Involved

  • ListAzureBlobStorage_v12
    1. The "Container Name" property should be set to the name of the Blob Storage Container that files reside in. If the flow being built is to be reused elsewhere, it's a good idea to parameterize this property by setting it to something like #{AZURE_CONTAINER}.
    2. The "Storage Credentials" property should specify an instance of the AzureStorageCredentialsService_v12 in order to provide credentials for accessing the storage container.
    3. The 'success' Relationship of this Processor is then connected to FetchAzureBlobStorage_v12.
  • FetchAzureBlobStorage_v12
    1. "Container Name" = "${azure.container}"
    2. "Blob Name" = "${azure.blobname}"
    3. The "Storage Credentials" property should specify an instance of the AzureStorageCredentialsService_v12 in order to provide credentials for accessing the storage container.

System Resource Considerations

This component does not specify system resource considerations.

See Also

DeleteAzureBlobStorage_v12, ListAzureBlobStorage_v12, PutAzureBlobStorage_v12