Enable Azure Storage
Effective October 12, 2022, Power Apps portals is Power Pages. More information: Microsoft Power Pages is now generally available (blog)
We will soon migrate and merge the Power Apps portals documentation with Power Pages documentation.
Azure Storage integration for portals enables you to take advantage of the greater file storage capability of Azure, using the same interface and providing the same user experience as for default file attachments. This feature is supported for web files, basic forms, and multistep forms.
You must create a storage account with Resource manager as the deployment model. More information: Create an Azure storage account.
After the storage account is running, portals require certain global settings that tell the application how to locate your storage account. In the Portal Management app, go to Settings > New, and add a new setting named FileStorage/CloudStorageAccount.
Azure storage integration only works with Notes configured in basic form metadata. Azure Blob as a storage is not used if you use Portal Comments that can be setup using Timeline. Though portal comments also provide capability for files to be uploaded as attachments, these files are only stored in Microsoft Dataverse.
- You must enable attachments for the table in Microsoft Dataverse first before using this feature. More information: Create a table
- The maximum file upload size is 125 MB.
To locate the value for FileStorage/CloudStorageAccount, you must get a connection string from your Azure portal.
Sign in to your Azure portal.
Navigate to your storage account.
Select Access Keys.
In the resulting panel, locate the field labeled Connection String. Select the Copy icon next to the field for which you need to copy the value, and then paste that value into your new setting:
Specify the storage container
If you do not already have an Azure Blob container in your storage account, you must add one by using your Azure portal.
In the Portal Management app, go to Settings > New, and add a new setting named FileStorage/CloudStorageContainerName, using the name of your container as the value.
Add CORS rule
You must add cross-origin resource sharing (CORS) rule on your Azure Storage account as follows, otherwise you will see the regular attachment icon rather than the cloud icon:
- Allowed origins: Specify your domain. For example,
Ensure the allowed origin doesn't have trailing
/. For example,
- Allowed verbs: GET, PUT, DELETE, HEAD, POST
- Allowed headers: Specify the request headers that the origin domain may specify on the CORS request. For example, x-ms-meta-data*, x-ms-meta-target*, or * to allow all.
- Exposed headers: Specify the response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer. For example, x-ms-meta-*, or * to allow all.
- Maximum age (seconds): Specify the maximum amount time that a browser should cache the preflight OPTIONS request. For example, 200.
CORS rule example:
More information: CORS support for the Azure Storage Services
Add site settings
Add the following site settings from Portals > Site Settings. More information: Manage portal site settings.
|WebFiles/CloudStorageAccount||Provide the same connection string as provided for the FileStorage/CloudStorageAccount setting.|
Configure basic or multistep forms
To view and add attachments stored in Azure on basic and multistep forms on your site, you will need to configure notes as attachments as well as add basic form or multistep form metadata with the File Attachment Location set to Azure Blob Storage.
You can then add attachments to records on web pages.
Attachments uploaded via the site will be stored in Azure.
To view and access the attachments in a model-driven app (including Dynamics 365 apps) you will need add a web resource to enable uploading attachments to Azure Storage.