# WriteBlob

Required Frends version: 5.7+

Required .NET version: 8.0

Compatible Agents: Unknown

Source code: <https://github.com/FrendsPlatform/Frends.AzureBlobStorage/tree/main/Frends.AzureBlobStorage.WriteBlob>

{% tabs %}
{% tab title="Parameter: Source" %}

| Name                          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| SourceType : `SourceType`     | <p>Selection of source types.</p><p>Possible values:</p><ul><li><code>String</code>:</li></ul><p>Selection of source types.</p><ul><li><code>Bytes</code>:</li></ul><p>Selection of source types.</p><p><br>Default: <code>1</code><br>Example: <code>SourceType.String</code></p>                                                                                                                                                                                                                                                                                                                                                                                                      |
| ContentString : `String`      | <p>Source content in string format.</p><p><br>Default: <code>-</code><br>Example: <code>This is test</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ContentBytes : `Byte[]`       | <p>Source content in byte array.</p><p><br>Default: <code>-</code><br>Example: <code>VGhpcyBpcyB0ZXN0</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Encoding : `FileEncoding`     | <p>Set desired content-encoding.</p><p>Defaults to UTF8 BOM.</p><p>Possible values:</p><ul><li><code>UTF8</code>:</li></ul><p>Set desired content-encoding.</p><p>Defaults to UTF8 BOM.</p><ul><li><code>Default</code>:</li></ul><p>Set desired content-encoding.</p><p>Defaults to UTF8 BOM.</p><ul><li><code>ASCII</code>:</li></ul><p>Set desired content-encoding.</p><p>Defaults to UTF8 BOM.</p><ul><li><code>WINDOWS1252</code>:</li></ul><p>Set desired content-encoding.</p><p>Defaults to UTF8 BOM.</p><ul><li><code>Other</code>:</li></ul><p>Set desired content-encoding.</p><p>Defaults to UTF8 BOM.</p><p><br>Default: <code>0</code><br>Example: <code>utf8</code></p> |
| EnableBOM : `Boolean`         | <p>Enables BOM for UTF-8.</p><p><br>Default: <code>True</code><br>Example: <code>-</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| FileEncodingString : `String` | <p>Content encoding as string. A partial list of possible encodings: <https://en.wikipedia.org/wiki/Windows_code_page#List>.</p><p><br>Default: <code>-</code><br>Example: <code>windows-1252</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| {% endtab %}                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |

{% tab title="Parameter: Destination" %}

| Name                                        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ContainerName : `String`                    | <p>Name of the Azure Blob Storage container.</p><p>Task will convert all letters to lowercase.</p><p>See more info: <https://learn.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#container-names></p><p><br>Default: <code>-</code><br>Example: <code>examplecontainer</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| BlobName : `String`                         | <p>Name of the blob. Blob name can also be folder structure and folders will be created to Blob Storage.</p><p>See more info: <https://learn.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names></p><p><br>Default: <code>-</code><br>Example: <code>BlobName.txt; C:\folder\blobName.txt</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Tags : `Tag[]`                              | <p>Tags for the block or append blob.</p><p><br>Default: <code>-</code><br>Example: <code>{name, value}</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| CreateContainerIfItDoesNotExist : `Boolean` | <p>Determines if the container should be created if it does not exist.</p><p>See <https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata> for naming rules.</p><p><br>Default: <code>False</code><br>Example: <code>false</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| HandleExistingFile : `HandleExistingFile`   | <p>How the existing blob will be handled.</p><p>Append: Append the blob with Source.SourceFile. Block and Page blobs will be downloaded as a temp file which will be deleted after local append and upload processes are complete. No downloading needed for Append Blob.</p><p>Overwrite: The original blob will be deleted before uploading the new one.</p><p>Error: Depending on Options.ThrowErrorOnFailure, throw an exception or Result will contain an error message instead of the blob's URL.</p><p>Possible values:</p><ul><li><code>Error</code>:</li></ul><p>How the existing blob will be handled.</p><p>Append: Append the blob with Source.SourceFile. Block and Page blobs will be downloaded as a temp file which will be deleted after local append and upload processes are complete. No downloading needed for Append Blob.</p><p>Overwrite: The original blob will be deleted before uploading the new one.</p><p>Error: Depending on Options.ThrowErrorOnFailure, throw an exception or Result will contain an error message instead of the blob's URL.</p><ul><li><code>Overwrite</code>:</li></ul><p>How the existing blob will be handled.</p><p>Append: Append the blob with Source.SourceFile. Block and Page blobs will be downloaded as a temp file which will be deleted after local append and upload processes are complete. No downloading needed for Append Blob.</p><p>Overwrite: The original blob will be deleted before uploading the new one.</p><p>Error: Depending on Options.ThrowErrorOnFailure, throw an exception or Result will contain an error message instead of the blob's URL.</p><ul><li><code>Append</code>:</li></ul><p>How the existing blob will be handled.</p><p>Append: Append the blob with Source.SourceFile. Block and Page blobs will be downloaded as a temp file which will be deleted after local append and upload processes are complete. No downloading needed for Append Blob.</p><p>Overwrite: The original blob will be deleted before uploading the new one.</p><p>Error: Depending on Options.ThrowErrorOnFailure, throw an exception or Result will contain an error message instead of the blob's URL.</p><p><br>Default: <code>0</code><br>Example: <code>HandleExistingFile.Error</code></p> |
| Compress : `Boolean`                        | <p>Should the string be compressed before sending?</p><p><br>Default: <code>False</code><br>Example: <code>-</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| {% endtab %}                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

{% tab title="Parameter: Connection" %}

| Name                                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AuthenticationMethod : `ConnectionMethod` | <p>Defines which connection method should be used for connecting to Azure Blob Storage.</p><p>Possible values:</p><ul><li><code>ConnectionString</code>:</li></ul><p>Defines which connection method should be used for connecting to Azure Blob Storage.</p><ul><li><code>OAuth2</code>:</li></ul><p>Defines which connection method should be used for connecting to Azure Blob Storage.</p><ul><li><code>SasToken</code>:</li></ul><p>Defines which connection method should be used for connecting to Azure Blob Storage.</p><ul><li><code>ArcManagedIdentity</code>:</li></ul><p>Defines which connection method should be used for connecting to Azure Blob Storage.</p><ul><li><code>ArcManagedIdentityCrossTenant</code>:</li></ul><p>Defines which connection method should be used for connecting to Azure Blob Storage.</p><p><br>Default: <code>1</code><br>Example: <code>ConnectionMethod.ConnectionString</code></p> |
| 🗝ConnectionString : `String`             | <p>Connection string to Azure storage.</p><p><br>Default: <code>-</code><br>Example: <code>DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=abc==;EndpointSuffix=core.windows.net</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ApplicationId : `String`                  | <p>Application (Client) ID of Azure AD Application.</p><p><br>Default: <code>-</code><br>Example: <code>Y6b1hf2a-80e2-xyz2-abc33h-3a7c3a8as4b7f</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| TenantId : `String`                       | <p>Tenant ID of Azure Tenant.</p><p><br>Default: <code>-</code><br>Example: <code>Y6b1hf2a-80e2-xyz2-abc33h-3a7c3a8as4b7f</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 🗝ClientSecret : `String`                 | <p>Client Secret of Azure AD Application.</p><p><br>Default: <code>-</code><br>Example: <code>Password!</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 🗝SasToken : `String`                     | <p>A shared access signature to use when connecting to an Azure storage container.</p><p>Grants restricted access rights to Azure Storage resources when combined with URI.</p><p><br>Default: <code>-</code><br>Example: <code>sv=2021-04-10\&se=2022-04-10T10%3A431Z\&sr=c\&sp=l\&sig=ZJg983RovE%23ZXI</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| StorageAccountName : `String`             | <p>Name of the Azure storage account.</p><p><br>Default: <code>-</code><br>Example: <code>TestStorage</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Scopes : `String[]`                       | <p>Scopes used when authenticating with Arc Managed Identity Cross Tenant.</p><p><br>Default: <code>-</code><br>Example: <code>\[api://AzureADTokenExchange/.default]</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| TargetTenantId : `String`                 | <p>Target Tenant ID of Azure Tenant.</p><p><br>Default: <code>-</code><br>Example: <code>Y6b1hf2a-80e2-xyz2-abc33h-3a7c3a8as4b7f</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| TargetClientId : `String`                 | <p>Target Client ID of Azure Tenant.</p><p><br>Default: <code>-</code><br>Example: <code>Y6b1hf2a-80e2-xyz2-abc33h-3a7c3a8as4b7f</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| {% endtab %}                              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |

{% tab title="Parameter: Options" %}

| Name                            | Description                                                                                                                                                                                                                                                            |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ThrowErrorOnFailure : `Boolean` | <p>True: Throw an exception.</p><p>False: If the error is ignorable, such as when a Blob already exists, the error will be added to the Result.ErrorMessages list instead of stopping the Task.</p><p><br>Default: <code>True</code><br>Example: <code>true</code></p> |
| {% endtab %}                    |                                                                                                                                                                                                                                                                        |

{% tab title="Result: Result" %}

| Name                | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Success : `Boolean` | <p>Operation complete. Operation is seens as completed if an ignorable error has occured and Options.ThrowErrorOnFailure is set to false.<br>Example: <code>true</code></p>                                                                                                                                                                                                                                                                                 |
| Info : `String`     | <p>This object contains the source file path and the URL of the blob. If an ignorable error occurs, such as when a blob already exists and Options.ThrowErrorOnFailure is set to false, the URL will be replaced with the corresponding error message.age.<br>Example: <code>{ { c:\temp\examplefile.txt, <https://storage.blob.core.windows.net/container/examplefile.txt> }, { c:\temp\examplefile2.txt, Blob examplefile2 already exists. } }</code></p> |
| Uri : `String`      | URI of uploaded file.                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| {% endtab %}        |                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

{% tab title="Changelog" %}

## Changelog

### \[2.0.0] - 2026-04-26

#### Changed

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

### \[1.3.0] - 2026-01-23

#### Added

* Add options to support Arc Managed Identity authentication.

### \[1.2.0] - 2026-01-15

#### Changed

* Updated Azure packages to the latest versions:
* Azure.Storage.Blobs 12.27.0
* Azure.Identity 1.17.1

### \[1.1.0] - 2025-10-07

#### Fixed

* Change returned info type from 3rd party BlobContentInfo to string with json.

### \[1.0.0] - 2025-01-24

#### Added

* Initial implementation of Frends.AzureBlobStorage.WriteBlob.
  {% endtab %}
  {% endtabs %}
