Skip to main content

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.

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.

Actions

Append to Append Blob

Append blocks to an existing append blob | key: appendToAppendBlob

Output Example Payload

{
"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

Output Example Payload

{
"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

Output Example Payload

{
"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

Output Example Payload

{
"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

Output Example Payload

{
"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

Output Example Payload

{
"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

Output Example Payload

{
"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


List Blobs

Get a list of blobs in a container | key: listBlobs

Output Example Payload

{
"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

Output Example Payload

{
"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

Output Example Payload

{
"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

Output Example Payload

{
"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

Output Example Payload

{
"data": {
"_response": {
"parsedHeaders": {},
"status": 200,
"headers": {},
"request": {
"url": "www.prismatic.io",
"method": "POST",
"withCredentials": false,
"timeout": 500,
"requestId": "exampleID"
}
}
}
}