PutAzureBlobStorage

Description:

Puts content into an Azure Storage Blob

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, whether a property supports the NiFi Expression Language, and whether a property is considered "sensitive", meaning that its value will be encrypted. Before entering a value in a sensitive property, ensure that the nifi.properties file has an entry for the property nifi.sensitive.props.key.

NameDefault ValueAllowable ValuesDescription
Container NameName 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 variable registry)
Storage CredentialsController Service API:
AzureStorageCredentialsService
Implementations: AzureStorageEmulatorCredentialsControllerService
AzureStorageCredentialsControllerService
AzureStorageCredentialsControllerServiceLookup
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).
Storage Account NameThe 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.
Sensitive Property: true
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Storage Account KeyThe 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.
Sensitive Property: true
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
SAS TokenShared 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.
Sensitive Property: true
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Common Storage Account Endpoint SuffixStorage 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.
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Proxy Configuration ServiceController Service API:
ProxyConfigurationService
Implementation: StandardProxyConfigurationService
Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: HTTP, SOCKS
BlobThe filename of the blob
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Create Containerfalse
  • true
  • false
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.
Client-Side Encryption Key TypeNONE
  • NONE The blobs sent to Azure are not encrypted.
  • SYMMETRIC The blobs sent to Azure are encrypted using a symmetric algorithm.
Specifies the key type to use for client-side encryption.
Client-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 variable registry)

This Property is only considered if the <Client-Side Encryption Key Type> Property has a value of "SYMMETRIC".
Symmetric KeyWhen using symmetric 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 "SYMMETRIC".

Relationships:

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

Reads Attributes:

None specified.

Writes Attributes:

NameDescription
azure.containerThe name of the Azure container
azure.blobnameThe name of the Azure blob
azure.primaryUriPrimary location for blob content
azure.etagEtag for the Azure blob
azure.lengthLength of the blob
azure.timestampThe timestamp in Azure for the blob

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component requires an incoming relationship.

System Resource Considerations:

None specified.

See Also:

ListAzureBlobStorage, FetchAzureBlobStorage, DeleteAzureBlobStorage