Skip to content

Commit 0eb0925

Browse files
Merge pull request #9901 from strategicalliances/strategicalliances-azure-blob-storage-v1.1
Strategicalliances azure blob storage v1.1
2 parents 0efdc74 + dfcda97 commit 0eb0925

File tree

1 file changed

+141
-0
lines changed

1 file changed

+141
-0
lines changed
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
---
2+
title: "Azure Blob Storage"
3+
url: /appstore/modules/azure/azure-blob-storage/
4+
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."
5+
weight: 20
6+
aliases:
7+
- /appstore/connectors/azure-blob-storage-connector/
8+
- /appstore/connectors/azure/azure-blob-storage/
9+
#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.
10+
---
11+
12+
## Introduction
13+
14+
The [Azure Blob Storage](https://marketplace.mendix.com/link/component/<insert when published>) connector enables you to connect your app to [Azure Blob Storage](https://azure.microsoft.com/en-us/products/storage/blobs) and easily store objects.
15+
16+
### Typical Use Cases
17+
18+
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:
19+
20+
* 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.
21+
* Archive data at the lowest cost - Move data archives to the Azure Blob Storage to eliminate operational complexities, and gain new insights.
22+
23+
### Prerequisites {#prerequisites}
24+
25+
The Azure Blob Storage Connector requires Mendix Studio Pro version 9.24.2 or above.
26+
27+
### Licensing and Cost
28+
29+
This connector is available as a free download from the Mendix Marketplace, but the Azure service to which it connects may incur a usage cost. For more information, refer to Azure documentation.
30+
31+
Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/).
32+
33+
## Installation
34+
35+
Follow the instructions in [How to Use Marketplace Content](/appstore/use-content/) to import the Azure Blob Storage connector into your app.
36+
37+
## Configuration
38+
39+
After you install the connector, you can find it in the **App Explorer**, in the **AzureBlobStorageConnector** section. The connector provides a domain model and operations that you can use to connect your app to Azure Blob Storage. Each operation can be implemented using it in a microflow or nanoflow.
40+
41+
### Configuring Authentication {#authentication}
42+
43+
To interact with Azure Blob Storage, authentication can be performed using either a Shared Access Signature (SAS) or an Azure Entra ID Access Token.
44+
45+
#### SAS authorization
46+
A Shared Access Signature (SAS) provides secure, delegated access to resources in your storage account. Follow these steps:
47+
48+
1. Have your administrator generate a SAS for the target container or blob
49+
2. Create a `SASCredentials` object and populate its `SASToken` attribute
50+
3. Pass the `SASCredentials` object to the `AbstractCredentials` parameter in your operation microflow
51+
52+
#### User Based Azure Entra ID Access Token
53+
For user based Azure Entra ID authentication:
54+
55+
1. Configure Single Sign-On (SSO) using the `OIDC SSO` marketplace module
56+
2. Utilize the `GetCurrentToken` microflow to obtain the required access token
57+
3. Create an `EntraCredentials` object and set its `BearerToken` attribute
58+
4. Supply the `EntraCredentials` object to the `AbstractCredentials` parameter in your operation microflow
59+
60+
#### Application Based Azure Entra ID Access Token
61+
For application based Azure Entra ID authentication:
62+
63+
1. Set the ClientId, ClientSecret and TenantId constants of your registered application in Azure
64+
2. Create a `GetApplicationBearerTokenRequest` object
65+
3. Supply the `GetApplicationBearerTokenRequest` to the `POST_v1_Azure_GetApplicationBearerToken` operation to generate a token and return an `EntraCredentials` object
66+
4. Supply the `EntraCredentials` object to the `AbstractCredentials` parameter in your operation microflow
67+
68+
### Configuring Operation Microflows
69+
70+
[Operations](/refguide/Operations/) define the operations that are executed in a microflow or a nanoflow.
71+
72+
The Azure Blob Storage connector contains the following operations:
73+
74+
* `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).
75+
* `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).
76+
* `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.
77+
78+
You can implement the operations of the connector by using them in microflows.
79+
80+
#### PUT_v1_Azure_PutBlob
81+
82+
`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).
83+
84+
To use this operation in your microflow:
85+
86+
1. In the **App Explorer**, right-click on the name of your module, and then click **Add microflow**.
87+
2. Enter a name for your microflow, for example, *ACT_PutBlob*, and then click **OK**.
88+
3. In the **App Explorer**, in the **AzureBlobStorageConnector** section, find the **PUT_v1_Azure_PutBlob** operation microflow.
89+
4. Create a **SASCredentials** or **EntraCredentials** object and add the SAS or access token to the **SASToken** or **BearerToken** attribute.
90+
5. Drag the **PUT_v1_Azure_PutBlob** microflow in to your microflow.
91+
6. Double-click the **PUT_v1_Azure_PutBlob** operation to configure the required parameters.
92+
93+
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:
94+
95+
| Parameter | Description | Required |
96+
|-----------|-------------|----------|
97+
| `StorageAccount` | Storage account name you want to perform Blob storage operations on | Yes |
98+
| `VersionAPI` | API version for the Azure Storage service (e.g., '2021-04-01') | Yes |
99+
| `BlobName` | Desired name for the blob in storage | Yes |
100+
| `ContainerName` | Target container for blob storage | Yes |
101+
| `BlobType` | Type of blob (currently supports BlockBlob only) | Yes |
102+
103+
The following parameters are optional:
104+
105+
| Parameter | Description | Default |
106+
|-----------|-------------|----------|
107+
| `ContentType` | MIME content type specification | application/octet-stream |
108+
| `StorageType` | Storage tier configuration | Varies by blob type |
109+
110+
7. Configure a method to trigger the `ACT_PutBlob` microflow.
111+
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/).
112+
113+
#### GET_v1_Azure_GetBlob
114+
115+
`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).
116+
117+
To use this operation in your microflow:
118+
119+
1. Create a `GetBlobRequest` object and populate the required attributes:
120+
121+
| Parameter | Description | Required |
122+
|------------------|--------------------------------------------------------------|----------|
123+
| `BlobName` | Name of the blob to retrieve | Yes |
124+
| `ContainerName` | Name of the container the blob is stored in | Yes |
125+
| `BlobType` | Type of blob (currently supports BlockBlob only) | Yes |
126+
| `ContentType` | MIME content type of the blob (used for response header) | No |
127+
128+
2. Provide a valid credentials object via the `AbstractCredentials` parameter.
129+
3. Call the `GET_v1_Azure_GetBlob` action in your microflow.
130+
4. The operation returns a Mendix `FileDocument` object containing the blob data.
131+
132+
## Technical Reference {#technical-reference}
133+
134+
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.
135+
136+
The **Documentation** pane displays the documentation for the currently selected element. To view it, perform the following steps:
137+
138+
1. In the [View menu](/refguide/view-menu/) of Studio Pro, select **Documentation**.
139+
2. Click on the element for which you want to view the documentation.
140+
141+
{{< figure src="/attachments/appstore/platform-supported-content/modules/technical-reference/doc-pane.png" class="no-border" >}}

0 commit comments

Comments
 (0)