# CreateContainer

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

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

| Name                     | Description                                                                                                                                                                                                                                                                  |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ContainerName : `String` | <p>Name of the Azure Blob Storage container where the data will be uploaded.</p><p>Naming: lowercase</p><p>Valid chars: alphanumeric and dash, but cannot start or end with dash.</p><p><br>Default: <code>test-container</code><br>Example: <code>test-container</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>Throw error on failure.</p><p><br>Default: <code>True</code><br>Example: <code>true</code></p>       |
| ErrorMessageOnFailure : `String` | <p>Error message on failure.</p><p><br>Default: <code>-</code><br>Example: <code>Task failed</code></p> |
| {% endtab %}                     |                                                                                                         |

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

| Name                | Description                                                                                                                                            |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Success : `Boolean` | <p>Container created.<br>Example: <code>true</code></p>                                                                                                |
| Uri : `String`      | <p>URI string of a newly created container.<br>Example: <code><https://test.blob.core.windows.net/test8f237ae0-ad33-b4b3-48d9-23b20a14c909></code></p> |
| Error : `Error`     | <p>Error information if the operation failed.<br>Example: <code>object { string Message, Exception AdditionalInfo }</code></p>                         |
| {% endtab %}        |                                                                                                                                                        |

{% tab title="Changelog" %}

## Changelog

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

#### Changed

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

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

#### Added

* Add options to support Arc Managed Identity authentication.

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

#### Changed

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

### \[2.0.0] - 2025-10-23

#### Added

* Created new **Connection** tab to organize authentication and connection details.
* Created new **Options** tab with `ThrowErrorOnFailure` and `ErrorMessageOnFailure` fields.
* Added structured **Error** object (`Message`, `AdditionalInfo`) to task result.

#### Changed

* Moved connection-related parameters from **Input** to **Connection** tab.
* Renamed:
  * `Input.ConnectionMethod` → `Connection.AuthenticationMethod`
  * `Input.ApplicationID` → `Connection.ApplicationId`
  * `Input.TenantID` → `Connection.TenantId`

#### Breaking changes

* Parameter moves and renames make this a **breaking change**.
* To upgrade:
  * Move all connection fields to the **Connection** tab.

### \[1.3.0] - 2024-08-21

#### Updated

* Updated Azure.Identity to version 1.12.0.

### \[1.2.0] - 2024-01-31

#### Updated

* Azure.Identity to version 1.10.4
* Azure.Storage.Blobs to version 12.19.1

### Fixed

* Modified Input parameters to be similar to other AzureBlobStorage Tasks.

### \[1.1.0] - 2022-11-28

#### Added

* OAuth autentication

#### Modified

* Unnecessary packages removed:
  * Azure.Core 1.20.0
  * MimeMapping 1.0.1.37
  * Microsoft.CSharp 4.7.0
  * System.ComponentModel.Annotations 4.7.0
* Task's result modified: Result.Success added.
* Documentation updated.

### \[1.0.0] - 2022-11-04

#### Added

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