Enable Azure Storage

Azure Storage integration for Power Pages 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.

Enable Azure Blob Storage for basic or 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, add role based permissions to the app in Azure:

  1. Sign in to the Azure portal where the storage account was created.
  2. Go to Resource groups and select the resource group, which contains the storage account.
  3. Select Access Control (IAM) > Add > Add role assignment.
  4. Select the Reader role and then select Next.
  5. Select User, group, or service principal and then select Select members.
  6. On the right side, select the portal application by searching your site name and then select the Select button. The application name is in the format Portals-<site name> with <site name> being the name of your Power Pages site.
  7. Select Review + assign > Review + assign.
  8. Go to the storage account and select Access Control (IAM) > Add > Add role assignment.
  9. Select the Storage Blob Data Contributor role and then select Next.
  10. Select User, group, or service principal and then select Select members.
  11. On the right side, select the portal application by searching your site name and then select the Select button.
  12. Select Review + assign > Review + assign.

Power Pages require certain global settings that tell the application how to locate your storage account.

Azure storage integration only works with Notes configured in basic form metadata. Azure Blob as storage isn't used if you use Portal Comments that can be set up using Timeline. Though portal comments also provide capability for files to be uploaded as attachments, these files are only stored in Microsoft Dataverse.

Note

  • You must enable attachments for the table in Microsoft Dataverse first before using this feature. Learn more in Create a table.
  • The maximum per file upload size is 10 GB.

Configure basic or multistep forms

To view and add attachments stored in Azure on basic and multistep forms on your site, you need to configure notes as attachments.

You can then add attachments to records on web pages.

Attachments uploaded via the site are stored in Azure.

To view and access the attachments in a model-driven app (including Dynamics 365 apps), you need to add a web resource to enable uploading attachments to Azure Storage.

Specify the storage container

If you don't already have an Azure Blob container in your storage account, you must add one by using your Azure portal.

To specify the storage container for a form:

  1. Open Power Pages design studio and go to the Pages workspace.
  2. Select a page that contains the form that uses Azure storage for attachments.
  3. Select the form and then select Edit form.
  4. Select Attachments.
  5. For Attachment storage, select Azure Blob Storage.
  6. Enter values for the Azure storage account name and the Azure container name.

Enable Azure Blob Storage for web files

To enable Azure Blob Storage for web files, follow these steps to add a CORS rule and add site settings.

Add CORS rule

You must add cross-origin resource sharing (CORS) rule on your Azure Storage account as follows, otherwise you see the regular attachment icon rather than the cloud icon:

  • Allowed origins: Specify your domain. For example, https://contoso.crm.dynamics.com
    Ensure the allowed origin doesn't have a trailing /. For example, https://contoso.crm.dynamics.com/ is incorrect.
  • Allowed verbs: GET, PUT, DELETE, HEAD, POST
  • Allowed headers: Specify the request headers that the origin domain might 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 might 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:

Text used by screen readers.

More information: CORS support for the Azure Storage Services.

Add site settings

Add the following site settings from Portals > Site Settings. Learn more in Manage portal site settings.

Name Value
WebFiles/CloudStorageAccount Provide the same connection string as provided for the FileStorage/CloudStorageAccount setting.
WebFiles/StorageLocation AzureBlobStorage

See also

Add web resource Configure notes