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
You can also grant limited access to your Azure Storage Resources using Shared Access Signatures (SAS) authentication, which involves an access token. You can obtain a connection string containing an SAS token from the Azure Portal. Keep in mind this token will eventually expire. Make sure to configure an expiration date you will remember, so you can manually refresh the token at a later date.
Input | Notes | Example |
---|---|---|
Connection String string / Required connectionString | Provide the connection string for your active directory account. | BlobEndpoint=https://example.blob.core.windows.net/;QueueEndpoint=https://example.queue.core.windows.net/;FileEndpoint=https://example.file.core.windows.net/;TableEndpoint=https://example.table.core.windows.net/;SharedAccessSignature=sv=example=rwdlacupitfx&se=2024-05-01T03:51:00Z&st=20 |
Storage Shared Key
Azure Blob can use storageSharedKeyCredential authentication, which involves an account / key pair. You can obtain an account name / account key pair through the Azure Portal.
Input | Notes | Example |
---|---|---|
Account Key string / Required accountKey | Provide the key for your active directory account. | exampleKey |
Account Name string / Required accountName | Provide the name for your active directory account. | exampleName |
Actions
Append to Append Blob
Append blocks to an existing append blob | key: appendToAppendBlob
Input | Notes | Example |
---|---|---|
Connection connection / Required azureConnection | ||
Blob Name string / Required blobName | A blob is a file that is saved in a 'container'. This represents the blob's key (file path). Include a leading /. | /path/to/file.txt |
Container Name string / Required containerName | Azure blob 'container' stores files. You can create a container within the Azure console. Container names contain only letters, numbers, and dashes. | my-azure-blob-container |
File Contents data / Required fileContents | The contents to write to a blob. This can be a string of text, it can be binary data (like an image or PDF) that was generated in a previous step. | My File Contents |
Example Payload for Append to Append Blob
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.prismatic.io",
"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 connection / Required azureConnection | ||
Blob Name string / Required blobName | A blob is a file that is saved in a 'container'. This represents the blob's key (file path). Include a leading /. | /path/to/file.txt |
Container Name string / Required containerName | Azure blob 'container' stores files. You can create a container within the Azure console. Container names contain only letters, numbers, and dashes. | my-azure-blob-container |
Example Payload for Create Append Blob
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.prismatic.io",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Create Container
Create a container | key: createContainer
Input | Notes | Example |
---|---|---|
Connection connection / Required azureConnection | ||
Container Name string / Required containerName | Azure blob 'container' stores files. You can create a container within the Azure console. Container names contain only letters, numbers, and dashes. | my-azure-blob-container |
Example Payload for Create Container
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.prismatic.io",
"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 connection / Required azureConnection | ||
Blob Name string / Required blobName | A blob is a file that is saved in a 'container'. This represents the blob's key (file path). Include a leading /. | /path/to/file.txt |
Container Name string / Required containerName | Azure blob 'container' stores files. You can create a container within the Azure console. Container names contain only letters, numbers, and dashes. | my-azure-blob-container |
Page Blob Size string / Required pageBlobSize | Space can be reserved in Azure Blob Store in 512-byte chunks. This must be a multiple of 512 (e.g. 1024, 1536, 2048, etc.). | 4096 |
Example Payload for Create Page Blob
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.prismatic.io",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Delete Blob
Delete a blob | key: deleteBlob
Input | Notes | Example |
---|---|---|
Connection connection / Required azureConnection | ||
Blob Name string / Required blobName | A blob is a file that is saved in a 'container'. This represents the blob's key (file path). Include a leading /. | /path/to/file.txt |
Container Name string / Required containerName | Azure blob 'container' stores files. You can create a container within the Azure console. Container names contain only letters, numbers, and dashes. | my-azure-blob-container |
Example Payload for Delete Blob
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.prismatic.io",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Delete Container
Delete a container | key: deleteContainer
Input | Notes | Example |
---|---|---|
Connection connection / Required azureConnection | ||
Container Name string / Required containerName | Azure blob 'container' stores files. You can create a container within the Azure console. Container names contain only letters, numbers, and dashes. | my-azure-blob-container |
Example Payload for Delete Container
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.prismatic.io",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}
Download Blob
Download a blob | key: downloadBlob
Input | Notes | Example |
---|---|---|
Connection connection / Required azureConnection | ||
Blob Name string / Required blobName | A blob is a file that is saved in a 'container'. This represents the blob's key (file path). Include a leading /. | /path/to/file.txt |
Container Name string / Required containerName | Azure blob 'container' stores files. You can create a container within the Azure console. Container names contain only letters, numbers, and dashes. | my-azure-blob-container |
Example Payload for Download Blob
{
"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 connection / Required azureConnection | ||
Blob Name string / Required blobName | A blob is a file that is saved in a 'container'. This represents the file's name. | /path/to/file.txt |
Container Name string / Required containerName | Azure blob 'container' stores files. You can create a container within the Azure console. Container names contain only letters, numbers, and dashes. | my-azure-blob-container |
SAS Expires On string / Required sasExpiresOnDate | The time at which the Shared Access Signature becomes invalid. This must be in ISO 8601 format. | 2024-01-01T00:00:00Z |
SAS Permissions string / Required sasPermissions | The permissions that are specified for the signedPermissions on the SAS token indicate which operations a client may perform on the resource. You can combine permissions to permit a client to perform multiple operations with the same SAS. Permissions must be provided in the following order: 'racwdxltmeop'. Examples of valid permissions settings for a container include: 'rw', 'rd', 'rl', 'wd', 'wl' and 'rl'. Full list of permissions and their meanings can be found at:https://learn.microsoft.com/en-us/rest/api/storageservices/create-service-sas#permissions-for-a-directory-container-or-blob | racwd |
SAS Starts On string / Required sasStartsOnDate | The time at which the Shared Access Signature becomes valid. This must be in ISO 8601 format. | 2024-01-01T00:00:00Z |
List Blobs
Get a list of blobs in a container | key: listBlobs
Input | Notes | Example |
---|---|---|
Connection connection / Required azureConnection | ||
Container Name string / Required containerName | Azure blob 'container' stores files. You can create a container within the Azure console. Container names contain only letters, numbers, and dashes. | my-azure-blob-container |
Prefix string prefix | List only blobs prefixed with this string. For example, if you only want blobs in a directory called 'unprocessed', you can enter 'unprocessed/'. If this is left blank, all files in the selected bucket will be listed. | path/to/files/ |
Example Payload for List Blobs
{
"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 |
---|---|
Connection connection / Required azureConnection |
Example Payload for List Containers
{
"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 connection / Required azureConnection | ||
Blob Name string / Required blobName | A blob is a file that is saved in a 'container'. This represents the blob's key (file path). Include a leading /. | /path/to/file.txt |
Container Name string / Required containerName | Azure blob 'container' stores files. You can create a container within the Azure console. Container names contain only letters, numbers, and dashes. | my-azure-blob-container |
Page Blob Size string / Required pageBlobSize | Space can be reserved in Azure Blob Store in 512-byte chunks. This must be a multiple of 512 (e.g. 1024, 1536, 2048, etc.). | 4096 |
Example Payload for Resize Page Blob
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.prismatic.io",
"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 connection / Required azureConnection | ||
Blob Name string / Required blobName | A blob is a file that is saved in a 'container'. This represents the blob's key (file path). Include a leading /. | /path/to/file.txt |
Container Name string / Required containerName | Azure blob 'container' stores files. You can create a container within the Azure console. Container names contain only letters, numbers, and dashes. | my-azure-blob-container |
File Contents data / Required fileContents | The contents to write to a blob. This can be a string of text, it can be binary data (like an image or PDF) that was generated in a previous step. | My File Contents |
Example Payload for Upload Block Blob
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.prismatic.io",
"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 connection / Required azureConnection | ||
Blob Name string / Required blobName | A blob is a file that is saved in a 'container'. This represents the blob's key (file path). Include a leading /. | /path/to/file.txt |
Container Name string / Required containerName | Azure blob 'container' stores files. You can create a container within the Azure console. Container names contain only letters, numbers, and dashes. | my-azure-blob-container |
File Contents data / Required fileContents | The contents to write to a blob. This can be a string of text, it can be binary data (like an image or PDF) that was generated in a previous step. | My File Contents |
Page Blob Offset string / Required pageBlobOffset | You can begin to write to an Azure blob starting at a particular block. This value must be a multiple of 512 (e.g. 1024, 1536, 2048, etc.). | 2048 |
Example Payload for Upload to Page Blob
{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.prismatic.io",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}