Azure Storage Web リソースをフォームに追加する

注意

2022 年 10 月 12 日より、Power Apps ポータルは Power Pages となります。 詳細: Microsoft Power Pages の一般提供が開始されました (ブログ)
Power Apps ポータルのドキュメントは、近日中に Power Pages ドキュメントに移行、統合されます。

注意

この トピック の手順では、モデル駆動型アプリの添付ファイルを表示してAzureに追加するためのコンポーネントの追加について説明します。 このコントロールは、ポータル Web ページの基本またはマルチステップ フォーム コンポーネントでは使用できません。 ポータルの基本およびマルチステップ フォームの作成には、別の Dataverse フォームの使用をお勧めします。 Azure に保存された添付ファイルを追加・表示するためのポータルフォームの設定については、Azure ストレージを有効にするを参照してください。

Azure Storage にアップロードされた添付ファイル (Microsoft Dataverse に直接アップロードされたもの以外) は、Dataverse のメモを使用して管理できます。

モデル駆動型アプリの特定のフォームからの添付ファイルを Azure Storage にアップロードできるようにするには、そのフォームに Web リソースを追加し、組織用に Azure Storage を構成する必要があります。

ポータルを使用してファイル (たとえば attachments.zip) を Azure Storage にアップロードする場合、 これはテーブル上のメモと添付ファイルのプレースホルダーで表されます。

駆動型 Power App の Dataverse フォームにファイル添付が追加されました。

添付ファイルは、attachment.zip.txt という名前になりました。 既定では、Dataverse に Azure ファイルの概念がないので、代わりにこのプレースホルダー .txt ファイルは Dataverse に保存されます。 プレースホルダー ファイルの Azure Storage コンテキストが、そのファイルについての詳細を示します。

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

Azure Storage Web リソースをフォームに追加する方法

Azure に保存されているファイルを表示したり操作したりするには、Web リソースの adx.annotations.html をそのフォームに追加する必要があります。 前提条件として、ユーザーに adx_setting テーブルへの読み取りアクセス権があることを確認します。 それ以外の場合は、Web リソースは適切に表示されません。

  1. 該当するフォームのフォーム エディターで、コンポーネントエリアの表示セクションで、 HTML Web リソースを選択します。

  2. HTML web リソースの追加ボックスで、adx_annotations/adx.annotations.html を選択し、追加 を選択します。

  3. リソースの名前とラベルを入力します。

  4. Webリソースリンクで、編集コマンドを選択します。

  5. カスタム パラメーター (データ) ボックスで、azureEnabled=true と入力します。

    web リソースを追加するフォーム デザイナー。

  6. 完了 を選択してリソースを保存します。

  7. フォームを保存してから、その変更を公開します。

新しいコントロールがページに表示されるようになり、添付ファイルを Azure Storage で管理できるようになります。

Azure に格納されたモデル駆動型 Power Apps 上の Dataverse フォームに追加された添付ファイル。

このファイルが Azure Storage に保存されていることを示すために、ペーパークリップ アイコンはクラウド アイコンに置き換えられています。 引き続き添付ファイルを Dataverse に保存することもでき、それらのファイルはペーパークリップ アイコンで示されます。

注意

以下のように、クロス オリジンのリソース共有 (CORS) ルールをあなたの Azure Storage アカウントに追加する必要があります。それ以外の場合は、クラウド アイコンではなく通常の添付アイコンが表示されます。

  • 許可されているオリジン: ドメインの指定。 例: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 要求への応答で送信され、ブラウザが要求発行者に公開する応答ヘッダーを指定。 例 - *or x-ms-meta-*。 このシナリオでは、* を指定する必要があります。それ以外の場合は、Web リソースは適切に表示されません。
  • 最大期日経過日数 (秒): ブラウザがプリフライト OPTIONS 要求をキャッシュする最大時間を指定。 例えば、200 です。

詳細情報: Azure Storage サービスの CORS サポート

添付ファイルが画像の場合、保存先が Dataverse であっても Azure Storage であっても、コントロールはその画像をサムネイルとして表示します。

注意

サムネイル機能は、サイズが 1 MB 以下の画像に制限されています。

メモのサムネイル。

Azure Blob Storage のプロセス

Azure Storage に添付ファイルをアップロードするには、いくつかのプロセスが必要となり、次を有効化する必要があります : AzureBlobStorageEnabledAzure Blob Storage の URLShared Access Signature の生成

Blob Storage のプロセス。

移行中に、プロセスが非アクティブになる場合があります。 移行すると、Web リソースを追加した後、Azure Storageではなく Dataverse に添付ファイルがアップロードされる場合があります。 Azure Storage に添付ファイルをアップロードするには、これらのプロセスが有効になっていることを確認してください。

CORS プロトコル サポート

ポータルでの CORS プロトコルのサポートについては、 CORSプロトコルサポートを構成する にアクセスしてください。