Skip to content
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
6ff1d53
Azure Blob Storage
katarzyna-koltun-mx Jul 15, 2025
e34f67d
Merge pull request #9849 from strategicalliances/strategicalliances-a…
katarzyna-koltun-mx Jul 15, 2025
dcd44f5
moved file
katarzyna-koltun-mx Jul 15, 2025
a339e09
Update azure-blob-storage-connector.md
katarzyna-koltun-mx Jul 15, 2025
6dc9906
Update azure-blob-storage-connector.md
katarzyna-koltun-mx Jul 15, 2025
29a0ea4
Update azure-blob-storage-connector.md
katarzyna-koltun-mx Jul 16, 2025
d0457bc
Update azure-blob-storage-connector.md
katarzyna-koltun-mx Jul 16, 2025
f308835
Merge pull request #13 from strategicalliances/strategicalliances-azu…
strategicalliances Jul 24, 2025
89bf6a0
Merge pull request #14 from strategicalliances/strategicalliances-azu…
strategicalliances Jul 24, 2025
dfcda97
Update azure-blob-storage-connector.md
strategicalliances Jul 24, 2025
0efdc74
Merge branch 'development' into kk-azure-blob
katarzyna-koltun-mx Jul 24, 2025
0eb0925
Merge pull request #9901 from strategicalliances/strategicalliances-a…
katarzyna-koltun-mx Jul 24, 2025
36ac992
sme updates
katarzyna-koltun-mx Jul 24, 2025
aedccf7
Merge branch 'kk-azure-blob' of https://github.com/mendix/docs into k…
katarzyna-koltun-mx Jul 24, 2025
272dabc
removed file with the wrong path
katarzyna-koltun-mx Jul 24, 2025
d7f1590
edits
katarzyna-koltun-mx Jul 24, 2025
97087a7
Revert "Revert "Strategicalliances azure blob storage v2""
katarzyna-koltun-mx Jul 30, 2025
13d8b4f
Merge branch 'development' into kk-azure-blob
katarzyna-koltun-mx Jul 30, 2025
4f697f1
Merge pull request #9924 from mendix/revert-9923-revert-9922-strategi…
katarzyna-koltun-mx Jul 30, 2025
da6bcb1
reconciling changes from the developers' fork
katarzyna-koltun-mx Jul 30, 2025
ebbfce1
Update azure-blob-storage-connector.md
katarzyna-koltun-mx Jul 30, 2025
271f51f
Update azure-blob-storage-connector.md
katarzyna-koltun-mx Aug 20, 2025
28f35fd
Update azure-blob-storage-connector.md
katarzyna-koltun-mx Aug 20, 2025
183747b
Update azure-blob-storage-connector.md
katarzyna-koltun-mx Aug 20, 2025
0a90b9e
Update azure-blob-storage-connector.md
katarzyna-koltun-mx Aug 20, 2025
4cbb8a8
Update azure-blob-storage-connector.md
katarzyna-koltun-mx Aug 20, 2025
bacf077
Update azure-blob-storage-connector.md
katarzyna-koltun-mx Aug 20, 2025
eb86e56
Update azure-blob-storage-connector.md
katarzyna-koltun-mx Aug 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: "Azure Modules"
url: /appstore/azure-modules/
description: "Presents details on the Microsoft Azure-specific connectors available in the Mendix Marketplace."
weight: 40
no_list: false
description_list: true
---

## Introduction

Mendix has connectors available for users who want to integrate their app with Microsoft Azure.

## Documents in This Category
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
---
title: "Azure Blob Storage"
url: /appstore/modules/azure/azure-blob-storage/
title: "Azure Blob Storage Connector"
url: /appstore/azure-modules/azure-blob-storage/
description: "Describes the configuration and usage of the Azure Blob Storage connector, which is available in the Mendix Marketplace. Azure Blob Storage is an object storage service offering industry-leading scalability, data availability, security, and performance."
weight: 20
aliases:
- /appstore/connectors/azure-blob-storage-connector/
- /appstore/connectors/azure/azure-blob-storage/
#If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details.
---

## Introduction
Expand All @@ -17,7 +13,7 @@ The [Azure Blob Storage](https://marketplace.mendix.com/link/component/<insert w

The Azure Blob Storage service is an object storage service offering industry-leading scalability, data availability, security, and performance. Customers of all sizes and industries can store and protect any amount of data for virtually any use case. With cost-effective storage types and easy-to-use management features, you can optimize costs, organize data, and configure fine-tuned access controls to meet specific business, organizational, and compliance requirements. Some typical use cases of Azure Blob Storage are:

* Back up and restore critical data - Meet Recovery Time Objectives (RTO), Recovery Point Objectives (RPO), and compliance requirements with Bolb storage's robust replication features.
* Back up and restore critical data - Meet Recovery Time Objectives (RTO), Recovery Point Objectives (RPO), and compliance requirements with Blob Storage's robust replication features.
* Archive data at the lowest cost - Move data archives to the Azure Blob Storage to eliminate operational complexities, and gain new insights.

### Prerequisites {#prerequisites}
Expand All @@ -40,62 +36,63 @@ After you install the connector, you can find it in the **App Explorer**, in the

### Configuring Authentication {#authentication}

To interact with Azure Blob Storage, authentication can be performed using either a Shared Access Signature (SAS) or an Azure Entra ID Access Token.
To interact with Azure Blob Storage, authentication can be performed using either a Shared Access Signature (SAS) or an Azure Entra ID access token.

#### SAS authorization
A Shared Access Signature (SAS) provides secure, delegated access to resources in your storage account. Follow these steps:
#### Configuring SAS Authorization

1. Have your administrator generate a SAS for the target container or blob
2. Create a `SASCredentials` object and populate its `SASToken` attribute
3. Pass the `SASCredentials` object to the `AbstractCredentials` parameter in your operation microflow
A Shared Access Signature (SAS) provides secure, delegated access to resources in your storage account. To configure SAS authorization, perform the following steps:

#### User Based Azure Entra ID Access Token
For user based Azure Entra ID authentication:
1. Ask your administrator to generate an SAS for the target container or Blob.
2. Create a **SASCredentials** object and populate its **SASToken** attribute.
3. Pass the **SASCredentials** object to the **AbstractCredentials** parameter in your operation microflow.

1. Configure Single Sign-On (SSO) using the `OIDC SSO` marketplace module
2. Utilize the `GetCurrentToken` microflow to obtain the required access token
3. Create an `EntraCredentials` object and set its `BearerToken` attribute
4. Supply the `EntraCredentials` object to the `AbstractCredentials` parameter in your operation microflow
#### Configuring an Azure Entra ID Access Token

#### Application Based Azure Entra ID Access Token
For application based Azure Entra ID authentication:
To configure user-based Azure Entra ID authentication, perform the following steps:

1. Set the ClientId, ClientSecret and TenantId constants of your registered application in Azure
2. Create a `GetApplicationBearerTokenRequest` object
3. Supply the `GetApplicationBearerTokenRequest` to the `POST_v1_Azure_GetApplicationBearerToken` operation to generate a token and return an `EntraCredentials` object
4. Supply the `EntraCredentials` object to the `AbstractCredentials` parameter in your operation microflow
1. Configure Single Sign-On (SSO) with the [OIDC SSO](https://marketplace.mendix.com/link/component/120371) module.
2. Use the **GetCurrentToken** microflow to obtain the required access token.
3. Create an **EntraCredentials** object and set its **BearerToken** attribute.
4. Supply the **EntraCredentials** object to the **AbstractCredentials** parameter in your operation microflow.

#### Configuring a Microflow for an AWS Service

To configure application-based Azure Entra ID authentication, perform the following steps:

1. In Microsoft Azure, set the **ClientId**, **ClientSecret**, and **TenantId** constants for your registered application.
2. Create a **GetApplicationBearerTokenRequest** object.
3. Supply the **GetApplicationBearerTokenRequest** to the **POST_v1_Azure_GetApplicationBearerToken** operation to generate a token and return an **EntraCredentials** object.
4. Supply the **EntraCredentials** object to the **AbstractCredentials** parameter in your operation microflow.

### Configuring Operation Microflows

[Operations](/refguide/Operations/) define the operations that are executed in a microflow or a nanoflow.

The Azure Blob Storage connector contains the following operations:

* `PutBlob` - Allows you to upload, as a Blob, a file of any type, to Azure Blob Storage. For more information, see [Put Blob to Azure Blob Storage](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob).
* `PutBlob` - Allows you to upload a file of any type to Azure Blob Storage as a Blob. For more information, see [Put Blob to Azure Blob Storage](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob).
* `GetBlob` - Allows you to retrieve a Blob. For more information, see [Get Blob to Azure Blob Storage](https://learn.microsoft.com/en-us/rest/api/storageservices/get-blob).
* `DeleteBlob` - Allows you to delete a Blob. For more information, see [Delete Blob from Azure Blob Storage](https://learn.microsoft.com/en-us/rest/api/storageservices/delete-blob).
* `ListBlobs` - Allows you to list the Blobs in a speciefied container. For more information, see [List Blobs from a Azure Blob Storage container](https://learn.microsoft.com/en-us/rest/api/storageservices/list-blobs?tabs=microsoft-entra-id).
* `GetApplicationBearerToken` - Allows the application to request a bearer token. The response is mapped to a `EntraCredentials` object that can be used to authenticate calls to Blob Storage.
* `GetApplicationBearerToken` - Allows the application to request a bearer token. The response is mapped to a **EntraCredentials** object that can be used to authenticate calls to Blob Storage.

You can implement the operations of the connector by using them in microflows.

#### PUT_v1_Azure_PutBlob

`PutBlob` – stores the contents of a document as a blob in Azure Blob Storage. This operation requires a valid `PutBlobRequest` object and an appropriate credentials object (either `SASCredentials` or `EntraCredentials`). For more information, see [Put Blob from Azure Blob Storage](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob).

To use this operation in your microflow:
To use this operation in your microflow, perform the following steps:

1. In the **App Explorer**, right-click on the name of your module, and then click **Add microflow**.
2. Enter a name for your microflow, for example, *ACT_PutBlob*, and then click **OK**.
3. In the **App Explorer**, in the **AzureBlobStorageConnector** section, find the **PUT_v1_Azure_PutBlob** operation microflow.
4. Create a **SASCredentials** or **EntraCredentials** object and add the SAS or access token to the **SASToken** or **BearerToken** attribute.
5. Drag the **PUT_v1_Azure_PutBlob** microflow in to your microflow.
6. Double-click the **PUT_v1_Azure_PutBlob** operation to configure the required parameters.

For the `PUT_v1_Azure_PutBlob` operation, retrieve the `System.FileDocument` you want to store and provide a configured `SASCredentials` or `EntraCredentials` object. You must then create a `PutBlobRequest` object in your microflow as the last parameter. This entity requires the following parameters:

| Parameter | Description | Required |
|-----------|-------------|----------|
| --- | --- | --- |
| `StorageAccount` | Storage account name you want to perform Blob storage operations on | Yes |
| `VersionAPI` | API version for the Azure Storage service (e.g., '2021-04-01') | Yes |
| `BlobName` | Desired name for the blob in storage | Yes |
Expand All @@ -105,68 +102,33 @@ To use this operation in your microflow:
The following parameters are optional:

| Parameter | Description | Default |
|-----------|-------------|----------|
| --- | --- |----------|
| `ContentType` | MIME content type specification | application/octet-stream |
| `StorageType` | Storage tier configuration | Varies by blob type |

7. Configure a method to trigger the `ACT_PutBlob` microflow.

For example, you can call the microflow with a custom button on a page in your app. For an example of how this can be implemented, see [Creating a Custom Save Button with a Microflow](/refguide/creating-a-custom-save-button/).

#### GET_v1_Azure_GetBlob

`GetBlob` – Retrieves the contents of a blob stored in Azure Blob Storage. This operation requires a valid `GetBlobRequest` object and an appropriate credentials object (either `SASCredentials` or `EntraCredentials`). For more information, see [Get Blob from Azure Blob Storage](https://learn.microsoft.com/en-us/rest/api/storageservices/get-blob).

To use this operation in your microflow:
To use this operation in your microflow, perform the following steps:

1. Create a `GetBlobRequest` object and populate the required attributes:
1. Create a **GetBlobRequest** object and populate the required attributes:

| Parameter | Description | Required |
|------------------|--------------------------------------------------------------|----------|
| `BlobName` | Name of the blob to retrieve | Yes |
| `ContainerName` | Name of the container the blob is stored in | Yes |
| `BlobType` | Type of blob (currently supports BlockBlob only) | Yes |
| `ContentType` | MIME content type of the blob (used for response header) | No |
| Parameter | Description | Required |
| --- | --- | --- |
| `BlobName` | Name of the Blob to retrieve | Yes |
| `ContainerName` | Name of the container the Blob is stored in | Yes |
| `BlobType` | Type of Blob (currently supports BlockBlob only) | Yes |
| `ContentType` | MIME content type of the Blob (used for response header) | No |

2. Provide a valid credentials object via the `AbstractCredentials` parameter.
3. Call the `GET_v1_Azure_GetBlob` action in your microflow.
2. Provide a valid credentials object via the **AbstractCredentials** parameter.
3. Call the **GET_v1_Azure_GetBlob** action in your microflow.
4. The operation returns a Mendix `FileDocument` object containing the blob data.

#### DELETE_v1_Azure_DeleteBlob

* `DeleteBlob` – Deletes a specified blob from Azure Blob Storage. This operation requires a valid `DeleteBlobRequest` object and an appropriate credentials object (either `SASCredentials` or `EntraCredentials`). For more information, see [Delete Blob from Azure Blob Storage](https://learn.microsoft.com/en-us/rest/api/storageservices/delete-blob).

To use the DeleteBlob operation in your microflow:

1. Create a `DeleteBlobRequest` object and populate the required attributes:

| Parameter | Description | Required |
|------------------|--------------------------------------------------------------|----------|
| `BlobName` | Name of the blob to delete | Yes |
| `ContainerName` | Name of the container where the blob is stored | Yes |

2. Provide a valid credentials object via the `AbstractCredentials` parameter.
3. Call the `DELETE_v1_Azure_DeleteBlob` action in your microflow.
4. The operation returns a `DeleteBlobResponse` object, which is a generalization of `AbstractResponse` and contains the StatusCode and ReasonPhrase.

#### GET_v1_Azure_ListBlobs

* `ListBlobs` – Lists the blobs contained in your specified Azure Blob Storage container. This operation requires a valid `ListBlobsRequest` object and an appropriate credentials object (either `SASCredentials` or `EntraCredentials`). For more information, see [List Blobs from Azure Blob Storage](https://learn.microsoft.com/en-us/rest/api/storageservices/list-blobs).

To use the ListBlobs operation in your microflow:

1. Create a `ListBlobsRequest` object and populate the required attributes:

| Parameter | Description | Required |
|------------------|--------------------------------------------------------------|----------|
| `ContainerName` | Name of the container where the blob is stored | Yes |
| `Prefix` | The prefix attribute is used to only list Blobsfrom from a folder within your container with the specified prefix | No |
| `MaxResults` | The max amount of results listed by the LisBlobs operaration | No |
| `ContainerName` | The marker used to get the next (sub)set of blobs from the specified location. | No |

3. Provide a valid credentials object via the `AbstractCredentials` parameter.
4. Call the `GET_v1_Azure_ListBlobs` action in your microflow.
5. The operation returns a list of `Blob` objects associated to the `ListBlobResponse`, which is a generalization of `AbstractResponse` and contains the StatusCode and ReasonPhrase.

## Technical Reference {#technical-reference}

The module includes technical reference documentation for the available entities, enumerations, activities, and other items that you can use in your application. You can view the information about each object in context by using the **Documentation** pane in Studio Pro.
Expand All @@ -176,4 +138,4 @@ The **Documentation** pane displays the documentation for the currently selected
1. In the [View menu](/refguide/view-menu/) of Studio Pro, select **Documentation**.
2. Click on the element for which you want to view the documentation.

{{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" class="no-border" >}}
{{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" class="no-border" >}}
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Typically, feedback module usage has the following flow:

* This module is compatible with Studio Pro 9.18.6 or higher.
* [Atlas Core](https://marketplace.mendix.com/link/component/117187) is required to apply the styling.
* In native mobile apps, some of the feedback metadata such as username, email address, and document name will be hard-coded, as they cannot be retrieved dynamically (to address this you can use the [Native Feedback widget](/appstore/modules/native-mobile-resources/) instead, located in [Native Mobile Resources](https://marketplace.mendix.com/link/component/109513)).
* In native mobile apps, some of the feedback metadata, such as username, email address, and document name, will be hard-coded, as it cannot be retrieved dynamically.

## Installation

Expand Down