knowledgecenter-breadcrum

Knowledge Center

25 Jun, 2020

How to upload a file to Azure Blob Storage using MS Flow?

Posted on 25 Jun, 2020 by Admin, Posted in Power Automate

How to upload a file to Azure Blob Storage using MS Flow? Blogs

How to upload a file to Azure Blob Storage using MS Flow?

Introduction

In this blog I have explained how to upload any file to Azure Blob Storage using Microsoft Power Automate (Flow).

Solution

We will use Base64 string as file content. To trigger this flow, I have created HTTP POST request so that, we can call it in any programming language. You can use any other trigger as per your requirement.

Step by Step

  1. Go to https://flow.microsoft.com and login with your credentials.
  2. Click on My Flows > New > Instant–from Blank.
  3. If you are shown list of triggers, click on Skip.
  4. Search “HTTP request” in search box and select “When an HTTP request is received”
  5. Then write a JSON object which will contain 3 variables for path, file name and file content. Here path is the “container” of the Azure Blob Storage.
  6. Upload to ABS
  7. In flow you will find lot of azure blob storage action. Here we are uploading a file to azure blob storage, then you must add next step as a “Create blob” action.
  8.  
  9. But to add this action you need to create a connection with “Azure Blob Storage” by providing necessary credentials.
  10. SAS URI to access file from Azure Blob Storage using MS Flow
  11. Set “Folder path” and “Blob name” fields as below.
  12. Here is the main issue. We cannot pass base64 string directly to “Blob content” field as content. This field required binary datatype value. So, we must convert base64 string to binary. Here MS Flow provide us a function to convert base64 string to binary without any code. To use it, follow below steps.
  13. Add opening and closing brackets after expression then you will a notification text to inform you about variable to pass this expression.
  14. Click on “Dynamic content” tab and select appropriate variable.
  15. You will see final expression as “base64ToBinary(triggerBody()?[‘blobcontent’])”
  16. Click on “OK”.
  17. You will see “Blob Content” field is now populated.
  18. Upload to ABS
  19. Now you must add new step to send response. To do that, click on new step, search for “Request”, click on “Request” and select “Response” action.
  20. SAS URI to access file from Azure Blob Storage using MS Flow
  21. In response action, in Body filed select “path” variable which is an output variable of “Create Blob” step. Please search for “Path” in dynamic content if you don’t see path variable directly.
  22. Upload to ABS
  23. Here path is the link location of the file uploaded on Azure Blob Storage.
  24. In addition, when you are updating the same file with different file content, then you must use “Update Blob” action which take file location link start from container as path and file content.
  25. Example for the path : if file location is this ”https://azureblob.windows.net/xyz/files/filename.png“ then path is like this “xyz/files/filename.png”.
  26. Upload to ABS

Comment

This is a Required Field

Loading

Recent Updates

Blogs
11 Jun, 2024

How to create a routing rule set to route cases in Dynamics 365

In this blog we will discuss how to create a routing rule to automatically route the cases to queue in…

READ MORE
Blogs
06 Jun, 2024

Restoring Deleted Records in Dataverse Tables

In this blog post, I will be discussing how we can restore the deleted records from any table in Dataverse.…

READ MORE
Blogs
15 May, 2024

Associated Grid Control Component in Dataverse

The Associated Grid Control enables us to improve the simplicity and readability of forms by displaying related record details across…

READ MORE