For the complete documentation index, see llms.txt. This page is also available as Markdown.

DownloadBlob

Downloads a Blob from Azure Blob Storage to the local file system.

Task version: 4.0.0

Required Frends version: 5.7+

Required .NET version: 8.0

Compatible Agents: Crossplatform

Task Parameters

Name
Description

ContainerName : String

Name of the Azure Blob Storage container from which the blob is downloaded.

Default: - Example: my-container

BlobName : String

Name of the blob to download, including any virtual directory path.

Default: - Example: sample.txt

TargetDirectory : String

Local directory where the downloaded file will be saved.

Default: - Example: c:\temp

TargetFileName : String

Optional custom filename for the downloaded blob. If left empty the original blob name is used.

Default: - Example: custom-name.txt

ActionOnExistingFile : FileExistsAction

Specifies what to do when a file already exists at the destination path.

Throw: raises an exception; Rename: appends an incrementing number; Overwrite: replaces the file.

Possible values:

  • Throw: Specifies what to do when a file already exists at the destination path.

Throw: raises an exception; Rename: appends an incrementing number; Overwrite: replaces the file.

  • Rename: Specifies what to do when a file already exists at the destination path.

Throw: raises an exception; Rename: appends an incrementing number; Overwrite: replaces the file.

  • Overwrite: Specifies what to do when a file already exists at the destination path.

Throw: raises an exception; Rename: appends an incrementing number; Overwrite: replaces the file.

Default: 0 Example: FileExistsAction.Throw

Name
Description

AuthenticationMethod : ConnectionMethod

Defines which connection method should be used for connecting to Azure Blob Storage.

Possible values:

  • ConnectionString: Defines which connection method should be used for connecting to Azure Blob Storage.

  • OAuth2: Defines which connection method should be used for connecting to Azure Blob Storage.

  • SasToken: Defines which connection method should be used for connecting to Azure Blob Storage.

  • ArcManagedIdentity: Defines which connection method should be used for connecting to Azure Blob Storage.

  • ArcManagedIdentityCrossTenant: Defines which connection method should be used for connecting to Azure Blob Storage.

Default: 1 Example: ConnectionMethod.ConnectionString

🗝ConnectionString : String

Connection string to Azure storage.

Default: - Example: DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=abc==;EndpointSuffix=core.windows.net

ApplicationId : String

Application (Client) ID of Azure AD Application.

Default: - Example: Y6b1hf2a-80e2-xyz2-abc33h-3a7c3a8as4b7f

TenantId : String

Tenant ID of Azure Tenant.

Default: - Example: Y6b1hf2a-80e2-xyz2-abc33h-3a7c3a8as4b7f

🗝ClientSecret : String

Client Secret of Azure AD Application.

Default: - Example: Password!

🗝SasToken : String

A shared access signature to use when connecting to an Azure storage container.

Grants restricted access rights to Azure Storage resources when combined with URI.

Default: - Example: sv=2021-04-10&se=2022-04-10T10%3A431Z&sr=c&sp=l&sig=ZJg983RovE%23ZXI

StorageAccountName : String

Name of the Azure storage account.

Default: - Example: TestStorage

Scopes : String[]

Scopes used when authenticating with Arc Managed Identity Cross Tenant.

Default: - Example: [api://AzureADTokenExchange/.default]

TargetTenantId : String

Target Tenant ID of Azure Tenant.

Default: - Example: Y6b1hf2a-80e2-xyz2-abc33h-3a7c3a8as4b7f

TargetClientId : String

Target Client ID of Azure Tenant.

Default: - Example: Y6b1hf2a-80e2-xyz2-abc33h-3a7c3a8as4b7f

Name
Description

Encoding : FileEncoding

Content encoding used when writing the downloaded file to disk.

Defaults to UTF-8 with BOM.

Possible values:

  • UTF8WithBOM: Content encoding used when writing the downloaded file to disk.

Defaults to UTF-8 with BOM.

  • UTF8: Content encoding used when writing the downloaded file to disk.

Defaults to UTF-8 with BOM.

  • Default: Content encoding used when writing the downloaded file to disk.

Defaults to UTF-8 with BOM.

  • ASCII: Content encoding used when writing the downloaded file to disk.

Defaults to UTF-8 with BOM.

  • Windows1252: Content encoding used when writing the downloaded file to disk.

Defaults to UTF-8 with BOM.

  • Other: Content encoding used when writing the downloaded file to disk.

Defaults to UTF-8 with BOM.

Default: 0 Example: FileEncoding.UTF8WithBOM

OtherEncoding : String

Encoding name used when Encoding is set to Other.

A partial list of possible values: https://en.wikipedia.org/wiki/Windows_code_page#List.

Default: - Example: windows-1251

ThrowErrorOnFailure : Boolean

When true (default) any error causes an exception to be thrown.

Set to false to return a result with Success = false instead.

Default: True Example: true

ErrorMessageOnFailure : String

Optional custom error message prepended to the exception or error result message.

Ignored when left empty.

Default: - Example: Download failed

Task Result

Name
Description

Success : Boolean

Indicates whether the download completed successfully. Example: true

FilePath : String

Full path to the downloaded file on the local file system. null when the task fails and Options.ThrowErrorOnFailure is false. Example: c:\temp\sample.txt

Error : Error

Error details when the task fails and Options.ThrowErrorOnFailure is false. null on success. Example: null

Task Changelog

Changelog for Task Frends.AzureBlobStorage.DownloadBlob.

[4.0.0] - 2026-07-23

Changed

  • [Breaking] The Connection parameter tab now appears before Options in the task signature, matching the standard parameter order used across all Frends Azure Blob Storage tasks.

Fixed

  • Removed unsupported XML documentation tags to improve compatibility with the Frends task documentation system.

Upgrade instructions (3.x → 4.0)

  1. In any process using this task, re-map the Connection and Options parameter tabs — their order in the task configuration UI has swapped. No property values need to change; only the tab order is different.

[3.0.0] - 2026-05-04

Changed

  • [Breaking] Replaced Source and Destination parameter tabs with unified Input and Options tabs.

  • [Breaking] Input.ActionOnExistingFile replaces Destination.FileExistsOperation; enum value Error renamed to Throw.

  • [Breaking] Input.TargetDirectory replaces Destination.Directory.

  • [Breaking] Options.Encoding replaces Source.Encoding; added UTF8WithBOM value; WINDOWS1252 renamed to Windows1252.

  • [Breaking] Options.OtherEncoding replaces Source.FileEncodingString; separate EnableBOM property removed (use UTF8WithBOM).

  • [Breaking] Result.FilePath replaces Result.FullPath; Result.FileName and Result.Directory removed.

Added

  • Added Result.Success (bool) and Result.Error properties.

  • Added Options.ThrowErrorOnFailure (default true) and Options.ErrorMessageOnFailure for non-throwing error handling.

Upgrade instructions (2.x → 3.0)

  1. Replace Source + Destination parameter tabs with Input + Options.

  2. Move Source.ContainerNameInput.ContainerName, Source.BlobNameInput.BlobName.

  3. Move Destination.DirectoryInput.TargetDirectory, Destination.TargetFileNameInput.TargetFileName.

  4. Move Destination.FileExistsOperationInput.ActionOnExistingFile; change FileExistsAction.ErrorFileExistsAction.Throw.

  5. Move Source.EncodingOptions.Encoding; change FileEncoding.WINDOWS1252FileEncoding.Windows1252; replace EnableBOM = true with FileEncoding.UTF8WithBOM.

  6. Move Source.FileEncodingStringOptions.OtherEncoding.

  7. Replace Result.FullPathResult.FilePath; remove usages of Result.FileName / Result.Directory.

  8. Optionally set Options.ThrowErrorOnFailure = false and check Result.Success / Result.Error instead of catching exceptions.

[2.0.0] - 2026-04-26

Changed

  • Standardized parameter names and validation across all Azure Blob Storage tasks for consistency.

[1.7.0] - 2026-01-28

Added

  • Add options to support Arc Managed Identity authentication.

[1.6.0] - 2026-01-27

Added

  • Added TargetFileName property to Destination for custom file naming when downloading blobs.

[1.5.0] - 2026-01-15

Changed

  • Updated Azure packages to the latest versions:

  • Azure.Storage.Blobs 12.27.0

  • Azure.Identity 1.17.1

[1.4.0] - 2025-02-17

Added

  • Added SAS Token authentication method.

[1.3.0] - 2024-08-21

Changed

  • Updated Azure.Identity to version 1.12.0.

  • Removed dependencies Azure.Core and Azure.Storage.Common.

[1.2.0] - 2024-01-31

Updated

  • Azure.Identity to version 1.10.4

  • Azure.Storage.Blobs to version 12.19.1

  • Azure.Storage.Common to version 12.18.1

  • Azure.Core to version 1.36.0

  • MimeMapping to version 1.0.1.50

Fixed

  • [Breaking] Fixed Source parameters to be similar to the UploadFiles Task.

[1.1.1] - 2023-02-08

Fixed

  • Fixed issue with empty encoding parameter.

  • Memory leak fix by unloading assembly context after Task execution.

[1.1.0] - 2022-12-01

Added

  • OAuth autentication method

Changed

  • Security updated for dependency:

    • Azure.Storage.Blobs 12.13.1 to 12.14.1

    • Azure.Storage.Common 12.12.0 to 12.13.0

    • Azure.Core 1.25.0 to 1.26.0

[1.0.2] - 2022-09-02

Changed

  • Security updated for dependency:

    • Azure.Storage.Blobs 12.10.0 to 12.13.1

    • Also updated dependencies:

    • Azure.Storage.Common 12.9.0 to 12.12.0

    • Azure.Core 1.20.0 to 1.25.0

    • System.ComponentModel.Annotations 4.7.0 to 5.0.0

[1.0.1] - 2022-02-28

Changed

  • Support for .NET Standard 2.0 removed.

[1.0.0] - 2022-02-09

Added

  • Initial implementation of Frends.AzureBlobStorage.DownloadBlob.

Last updated

Was this helpful?