将 Azure 存储 Web 资源添加到窗体

备注

从 2022 年 10 月 12 日起,Power Apps 门户更名为 Power Pages。 详细信息请参阅:Microsoft Power Pages 现已正式发布(博客)
不久后我们将迁移 Power Apps 门户文档并将其与 Power Pages 文档合并在一起。

备注

本主题中的步骤描述了如何添加组件以查看文件附件并将其添加到 Azure 以用于模型驱动应用。 该控件不适用于门户网页上的基本或多步窗体组件。 建议使用不同的 Dataverse 窗体为门户创建基本窗体和多步窗体。 有关配置门户窗体以添加和查看存储在 Azure 中的附件的详细信息,请参阅启用 Azure 存储

上载到 Azure 存储(而不是直接上载到 Microsoft Dataverse)的附件可以使用 Dataverse 中的注释进行管理。

要能够将模型驱动应用中特定窗体中的附件上载到 Azure 存储,则必须将 Web 资源添加到该窗体,以及为您的组织配置 Azure 存储

当使用门户将文件(例如,attachments.zip)上载到 Azure 存储时,它由对表的注释和附件的占位符代表。

文件附件已添加到模型驱动 Power App 上的 Dataverse 窗体。

附件文件现在命名为 attachment.zip.txt。 默认情况下,Dataverse 没有 Azure 文件的概念,因此该占位符 .txt 文件而是存储在 Dataverse 中。 占位符文件的 Azure 存储上下文显示文件的详细信息。

{
  "Name": "attachment.txt",
  "Type": "text/plain",
  "Size": 379,
  "Url": "https://accountname.blob.core.windows.net/storage/81a9a9491c36e51182760026833bcf82/attachment.txt"
}

用于将 Azure 存储 Web 资源添加到窗体的步骤

若要查看存储在 Azure 中的文件并与其交互,则必须将 Web 资源 adx.annotations.html 添加到窗体。 必备条件要求您确保用户具有 adx_setting 表的读取访问权限。 否则无法正确呈现此 Web 资源。

  1. 在相关窗体的窗体编辑器中,在组件区域的显示部分,选择 HTML Web 资源

  2. 添加 HTML Web 资源框中,选择 adx_annotations/adx.annotations.html,然后选择添加

  3. 为资源输入名称和标签。

  4. Web 资源链接上选择 Edit 命令。

  5. 自定义参数(数据) 框中,输入 azureEnabled=true

    用于添加 Web 资源的窗体设计器。

  6. 选择完成保存资源。

  7. 保存窗体,然后发布更改。

新的控件现在将呈现在页面上,使您能够管理 Azure 存储中的附件。

文件附件已添加到存储在 Azure 中的模型驱动 Power Apps 上的 Dataverse 窗体中。

回形针图标已更换为云图标以表示此文件存储在 Azure 存储中。 您可以继续将附件存储在 Dataverse 中;这些文件将使用回形针图标表示。

备注

您还必须按照下面的说明在您的 Azure 存储帐户上添加跨源资源共享 (CORS) 规则,否则您将看到常规的附件图标,而不是云图标。

  • 允许的源:指定您的域。 例如,https://contoso.crm.dynamics.com
    确保允许的源没有尾随 /。 例如,https://contoso.crm.dynamics.com/ 不正确。
  • 允许的动词:GET、PUT、DELETE、HEAD、POST
  • 允许的标头:指定原始域可能对 CORS 请求指定的请求标头。 例如,x-ms-meta-data*、x-ms-meta-target*。 对于此场景,必须指定 *,否则无法正确呈现此 Web 资源。
  • 显示的标头:指定可能在响应 CORS 请求时发送并由浏览器向请求颁发者显示的响应标头。 示例 - * 或 x-ms-meta-*。 对于此场景,必须指定 *,否则无法正确呈现此 Web 资源。
  • 最长存在时间(秒):指定浏览器缓存预检 OPTIONS 请求的最大时间量。 例如,200。

详细信息: Azure 存储服务的 CORS 支持

如果附加的文件是图像,则控件将显示图像的缩略图,无论它是存储在 Dataverse 中还是 Azure 存储中。

备注

缩略图功能仅限于大小为 1 MB 以下的图像。

注释缩略图。

Azure Blob 存储的进程

需要多个流程才能将附件上载到必须激活的 Azure 存储:AzureBlobStorageEnabledAzure Blob 存储 URL生成共享访问签名

Blob 存储进程。

在迁移过程中,这些进程可能会停用。 迁移可能会导致在执行步骤以添加 Web 资源之后将附件上载到 Dataverse,而不是 Azure 存储。 确保激活这些流程以将附件上载到 Azure 存储。

CORS 协议支持

若要了解门户中的 CORS 协议支持,请转到配置 CORS 协议支持