blob: a2d7fd5e80070bdce75d190a6ed846fe80c50f1d [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>FetchAzureBlobStorage</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">FetchAzureBlobStorage</h1><h2>Deprecation notice: </h2><p>Processor depends on legacy Microsoft Azure SDK</p><p>Please consider using one the following alternatives: <a href="../org.apache.nifi.processors.azure.storage.FetchAzureBlobStorage_v12/index.html">FetchAzureBlobStorage_v12</a></p><h2>Description: </h2><p>Retrieves contents of an Azure Storage Blob, writing the contents to the content of the FlowFile</p><h3>Tags: </h3><p>azure, microsoft, cloud, storage, blob</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properties"><tr><th>Display Name</th><th>API Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Container Name</strong></td><td>container-name</td><td></td><td id="allowable-values"></td><td id="description">Name of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Storage Credentials</td><td>storage-credentials-service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>AzureStorageCredentialsService<br/><strong>Implementations: </strong><a href="../org.apache.nifi.services.azure.storage.AzureStorageEmulatorCredentialsControllerService/index.html">AzureStorageEmulatorCredentialsControllerService</a><br/><a href="../org.apache.nifi.services.azure.storage.AzureStorageCredentialsControllerService/index.html">AzureStorageCredentialsControllerService</a><br/><a href="../org.apache.nifi.services.azure.storage.AzureStorageCredentialsControllerServiceLookup/index.html">AzureStorageCredentialsControllerServiceLookup</a></td><td id="description">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).</td></tr><tr><td id="name">Storage Account Name</td><td>storage-account-name</td><td></td><td id="allowable-values"></td><td id="description">The 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.<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Storage Account Key</td><td>storage-account-key</td><td></td><td id="allowable-values"></td><td id="description">The 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.<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">SAS Token</td><td>storage-sas-token</td><td></td><td id="allowable-values"></td><td id="description">Shared 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.<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Common Storage Account Endpoint Suffix</td><td>storage-endpoint-suffix</td><td></td><td id="allowable-values"></td><td id="description">Storage 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.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Blob</strong></td><td>blob</td><td id="default-value">${azure.blobname}</td><td id="allowable-values"></td><td id="description">The filename of the blob<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Proxy Configuration Service</td><td>proxy-configuration-service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>ProxyConfigurationService<br/><strong>Implementation: </strong><a href="../../../nifi-proxy-configuration-nar/1.19.1/org.apache.nifi.proxy.StandardProxyConfigurationService/index.html">StandardProxyConfigurationService</a></td><td id="description">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.</td></tr><tr><td id="name">Range Start</td><td>range-start</td><td></td><td id="allowable-values"></td><td id="description">The 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.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Range Length</td><td>range-length</td><td></td><td id="allowable-values"></td><td id="description">The 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.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Client-Side Encryption Key Type</strong></td><td>cse-key-type</td><td id="default-value">NONE</td><td id="allowable-values"><ul><li>NONE <img src="../../../../../html/images/iconInfo.png" alt="The blobs sent to Azure are not encrypted." title="The blobs sent to Azure are not encrypted."></img></li><li>SYMMETRIC <img src="../../../../../html/images/iconInfo.png" alt="The blobs sent to Azure are encrypted using a symmetric algorithm." title="The blobs sent to Azure are encrypted using a symmetric algorithm."></img></li></ul></td><td id="description">Specifies the key type to use for client-side encryption.</td></tr><tr><td id="name">Client-Side Encryption Key ID</td><td>cse-key-id</td><td></td><td id="allowable-values"></td><td id="description">Specifies the ID of the key to use for client-side encryption.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong><br/><br/><strong>This Property is only considered if </strong><strong>the [Client-Side Encryption Key Type] Property has a value of "SYMMETRIC".</strong></td></tr><tr><td id="name">Symmetric Key</td><td>cse-symmetric-key-hex</td><td></td><td id="allowable-values"></td><td id="description">When using symmetric client-side encryption, this is the raw key, encoded in hexadecimal<br/><strong>Sensitive Property: true</strong><br/><br/><strong>This Property is only considered if </strong><strong>the [Client-Side Encryption Key Type] Property has a value of "SYMMETRIC".</strong></td></tr></table><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>All successfully processed FlowFiles are routed to this relationship</td></tr><tr><td>failure</td><td>Unsuccessful operations will be transferred to the failure relationship.</td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3><table id="writes-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>azure.length</td><td>The length of the blob fetched</td></tr></table><h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>Input requirement: </h3>This component requires an incoming relationship.<h3>System Resource Considerations:</h3>None specified.<h3>See Also:</h3><p><a href="../org.apache.nifi.processors.azure.storage.ListAzureBlobStorage/index.html">ListAzureBlobStorage</a>, <a href="../org.apache.nifi.processors.azure.storage.PutAzureBlobStorage/index.html">PutAzureBlobStorage</a>, <a href="../org.apache.nifi.processors.azure.storage.DeleteAzureBlobStorage/index.html">DeleteAzureBlobStorage</a></p></body></html>