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, microsoft, cloud, storage, blob

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) 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 Credentialsstorage-credentials-serviceController Service API:
AzureStorageCredentialsService_v12
Implementations: AzureStorageCredentialsControllerService_v12
AzureStorageCredentialsControllerServiceLookup_v12
Controller Service used to obtain Azure Blob Storage Credentials.
Container Namecontainer-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: true (will be evaluated using flow file attributes and Environment variables)
Blob Nameblob-name${azure.blobname}The full name of the blob
Supports Expression Language: true (will be evaluated using flow file 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: true (will be evaluated using flow file 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: true (will be evaluated using flow file attributes and Environment variables)
Proxy Configuration Serviceproxy-configuration-serviceController Service API:
ProxyConfigurationService
Implementation: StandardProxyConfigurationService
Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: HTTP, SOCKS In case of SOCKS, it is not guaranteed that the selected SOCKS Version will be used by the processor.
Client-Side Encryption Key TypeClient-Side Encryption Key TypeNONE
  • NONE Client-Side Encryption disabled
  • LOCAL Client-Side Encryption enabled using local key
Specifies the key type to use for client-side encryption.
Client-Side Encryption Key IDClient-Side Encryption Key IDSpecifies the ID of the key to use for client-side encryption.
Supports Expression Language: true (will be evaluated using flow file attributes and Environment variables)

This Property is only considered if the [Client-Side Encryption Key Type] Property has a value of "LOCAL".
Client-Side Encryption Local KeyClient-Side Encryption Local KeyWhen using local client-side encryption, this is the raw key, encoded in hexadecimal
Sensitive Property: true

This Property is only considered if the [Client-Side Encryption Key Type] Property has a value of "LOCAL".

Relationships:

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

Reads Attributes:

None specified.

Writes Attributes:

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

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:

Use Case:

Retrieve all files in an Azure Blob Storage container

Keywords:

azure, blob, storage, state, retrieve, fetch, all, stream

Components involved:

Component Type: org.apache.nifi.processors.azure.storage.ListAzureBlobStorage_v12

Configuration:

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}.

The "Storage Credentials" property should specify an instance of the AzureStorageCredentialsService_v12 in order to provide credentials for accessing the storage container.

The 'success' Relationship of this Processor is then connected to FetchAzureBlobStorage_v12.



Component Type: org.apache.nifi.processors.azure.storage.FetchAzureBlobStorage_v12

Configuration:

"Container Name" = "${azure.container}"

"Blob Name" = "${azure.blobname}"

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:

None specified.

See Also:

ListAzureBlobStorage_v12, PutAzureBlobStorage_v12, DeleteAzureBlobStorage_v12