Azure Blob Storage Component
Manage files and folders within Azure Blob Storage
Component key: azure-blob
Description
Azure Blob Storage is a cloud solution for storing unstructured data, like large binary or text files. It's often used to store blob data for web applications that don't store nicely in a relational database.
This component allows you to list, create and delete Azure containers, and create and modify blobs (files) within those Azure containers.
Information about Azure Blob Storage can be found on their documentation site.
Connections
Connection String
key: connectionStringAzure Blob Storage supports authentication using a Shared Access Signature (SAS) connection string. This method grants limited access to Azure Storage resources with fine-grained control over permissions and expiration.
A connection string containing a SAS token provides temporary, restricted access and is useful when full account key access is not required.
Prerequisites
- An active Azure account
- An existing Azure Storage Account
- Understanding of required permissions for the integration's operations
Setup Steps
To generate a SAS connection string:
- Sign in to the Azure Portal
- Navigate to Storage accounts from the main menu
- Select the storage account to connect to
- In the left sidebar, under Security + networking, select Shared access signature
- Configure the SAS token settings:
- Allowed services: Select Blob (at minimum)
- Allowed resource types: Select the appropriate types (Container, Object, etc.)
- Allowed permissions: Select the minimum required permissions for the integration
- Start and expiry date/time: Set an appropriate expiration date
- Click Generate SAS and connection string at the bottom
- Copy the Connection string value (not the SAS token alone)
The SAS token has an expiration date. Note the expiration date and plan to refresh the connection string before it expires to avoid authentication failures.
The connection string will have the format:
BlobEndpoint=https://account.blob.core.windows.net/;SharedAccessSignature=sv=...
Configure the Connection
- Enter the complete Connection string value into the connection configuration
For more information about SAS tokens, permissions, and security considerations, refer to the Azure SAS documentation.
| Input | Notes | Example |
|---|---|---|
| Connection String | The Azure Storage connection string. Find this in Azure Portal under Storage accounts > Security + networking > Access keys > Connection string. Supports account key or SAS token authentication. Learn more | DefaultEndpointsProtocol=https;AccountName=mystorageaccount;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;EndpointSuffix=core.windows.net |
Storage Shared Key
key: storageSharedKeyAzure Blob Storage can use Shared Key authentication to authenticate requests. This authentication method uses a storage account name and account key pair.
For more information about storage account authentication, refer to the Azure Storage security guide.
Prerequisites
- An active Azure account
- An existing Azure Storage Account or permissions to create one
- Appropriate permissions to view and manage storage account access keys
Setup Steps
To obtain the storage account credentials:
- Sign in to the Azure Portal
- Navigate to Storage accounts from the main menu
- Select the storage account to connect to
- In the left sidebar, under Security + networking, select Access keys
- Two keys are displayed: key1 and key2. Either key can be used for authentication
- Copy the Storage account name (shown at the top of the page)
- Click Show next to either key and copy the Key value
Azure provides two access keys to allow for key rotation without downtime. When rotating keys, update the connection configuration with the new key value.
Configure the Connection
- Enter the Storage account name into the Account Name field
- Enter the copied Key value into the Account Key field
For additional information about managing storage account keys and security best practices, refer to the Azure documentation.
| Input | Notes | Example |
|---|---|---|
| Account Key | The 512-bit storage account access key (Base64-encoded). Find this in Azure Portal under Storage accounts > Security + networking > Access keys. Learn more | Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw== |
| Account Name | The Azure Storage account name (3-24 characters, lowercase letters and numbers only). Find this in your Azure Portal under Storage accounts. Learn more | mystorageaccount123 |
Data Sources
Select Blob
Select a blob from an Azure Storage container | key: selectBlob | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
| Prefix | Optionally filter blobs by prefix (e.g., 'documents/' to show only blobs in that folder) | documents/invoices/ |
{
"result": [
{
"label": "documents/report.pdf",
"key": "documents/report.pdf"
},
{
"label": "images/logo.png",
"key": "images/logo.png"
}
]
}
Select Container
Select a container from your Azure Storage account | key: selectContainer | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. |
{
"result": [
{
"label": "my-container",
"key": "my-container"
},
{
"label": "backup-files",
"key": "backup-files"
}
]
}
Actions
Append to Append Blob
Append blocks to an existing append blob | key: appendToAppendBlob
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Blob Name | The blob name (file path) within the container. Do not include a leading slash. Use forward slashes for virtual directory structures. | documents/report.pdf |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
| File Contents | The contents to write to a blob. Accepts text strings or binary data (images, PDFs, etc.) from previous steps. | My File Contents |
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.example.com",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Create Append Blob
Create an empty append blob object (use "Append to Append Blob" to add blocks) | key: createAppendBlob
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Blob Name | The blob name (file path) within the container. Do not include a leading slash. Use forward slashes for virtual directory structures. | documents/report.pdf |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.example.com",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Create Container
Create a container | key: createContainer
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.example.com",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Create Page Blob
Create a page blob with a specific size (must be a multiple of 512 bytes) | key: createPageBlob
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Blob Name | The blob name (file path) within the container. Do not include a leading slash. Use forward slashes for virtual directory structures. | documents/report.pdf |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
| Page Blob Size | The size to reserve for the page blob in bytes. Must be a multiple of 512 (e.g., 1024, 1536, 2048, 4096). Maximum size is 8 TiB (8,796,093,022,208 bytes). | 4096 |
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.example.com",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Delete Blob
Delete a blob | key: deleteBlob
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Blob Name | The blob name (file path) within the container. Do not include a leading slash. Use forward slashes for virtual directory structures. | documents/report.pdf |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.example.com",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Delete Container
Delete a container | key: deleteContainer
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.example.com",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Download Blob
Download a blob | key: downloadBlob
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Blob Name | The blob name (file path) within the container. Do not include a leading slash. Use forward slashes for virtual directory structures. | documents/report.pdf |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
{
"data": {
"type": "Buffer",
"data": [
69,
120,
97,
109,
112,
108,
101
]
},
"contentType": "application/octet"
}
Generate Shared Access Signature URL
Generate a pre-signed URL (Shared Access Signature or SAS) for a blob | key: generateSasUrl
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Blob Name | A blob is a file that is saved in a 'container'. This represents the file's name. | documents/report.pdf |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
| SAS Expires On | The expiration date and time when the Shared Access Signature becomes invalid. Must be in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). | 2027-01-27T00:00:00Z |
| SAS Permissions | The permission string for the SAS token. Combine permissions in this order: 'racwdxltmeop'. Common examples: 'r' (read), 'rw' (read/write), 'racwd' (read, add, create, write, delete). Learn more | rw |
| SAS Starts On | The start date and time when the Shared Access Signature becomes valid. Must be in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). | 2026-01-27T00:00:00Z |
List Blobs
Get a list of blobs in a container | key: listBlobs
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
| Prefix | Filter blobs by prefix string. Use this to list blobs within a specific virtual directory. Include a trailing slash for directory-style filtering (e.g., 'documents/'). Leave blank to list all blobs. | documents/invoices/ |
{
"data": [
{
"name": "Example",
"deleted": false,
"snapshot": "",
"properties": {
"lastModified": "2020-01-01T00:00:00.000Z",
"etag": "Example Tag"
}
}
]
}
List Containers
Get a list of containers available in the account | key: listContainers
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. |
{
"data": [
{
"name": "Example",
"properties": {
"lastModified": "2020-01-01T00:00:00.000Z",
"etag": "Example Tag"
}
}
]
}
Resize Page Blob
Resize an existing page blob (must be a multiple of 512 bytes) | key: resizePageBlob
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Blob Name | The blob name (file path) within the container. Do not include a leading slash. Use forward slashes for virtual directory structures. | documents/report.pdf |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
| Page Blob Size | The size to reserve for the page blob in bytes. Must be a multiple of 512 (e.g., 1024, 1536, 2048, 4096). Maximum size is 8 TiB (8,796,093,022,208 bytes). | 4096 |
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.example.com",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Upload Block Blob
Upload file data to a block blob object | key: uploadBlockBlob
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Blob Name | The blob name (file path) within the container. Do not include a leading slash. Use forward slashes for virtual directory structures. | documents/report.pdf |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
| File Contents | The contents to write to a blob. Accepts text strings or binary data (images, PDFs, etc.) from previous steps. | My File Contents |
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.example.com",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Upload to Page Blob
Upload to an existing page blob (both data size and offset must be a multiple of 512) | key: uploadToPageBlob
| Input | Notes | Example |
|---|---|---|
| Connection | The Azure Blob Storage connection to use. | |
| Blob Name | The blob name (file path) within the container. Do not include a leading slash. Use forward slashes for virtual directory structures. | documents/report.pdf |
| Container Name | The Azure Blob Storage container name (3-63 characters, lowercase letters, numbers, and hyphens only). Containers organize blob storage similar to directories. Learn more | my-azure-container |
| File Contents | The contents to write to a blob. Accepts text strings or binary data (images, PDFs, etc.) from previous steps. | My File Contents |
| Page Blob Offset | The starting byte position for writing to the page blob. Must be a multiple of 512 (e.g., 0, 512, 1024, 2048). | 0 |
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.example.com",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Changelog
2026-01-27
Enhanced configuration with inline data sources for Select Container and Select Blob, enabling dropdown selection of containers and blobs directly within action configuration without requiring separate API calls.