次の方法で共有


Power Apps から Azure Blob Storage に接続する

Power Apps は Azure Blob Storage に接続できます。 Word、Excel、マルチメディア画像、音声、動画などのファイルを、Power Apps の Azure Blob Storage コネクタを使用してアップロードできます。

Azure Blob Storage に接続するキャンバス アプリを設計する場合、アプリでは Blob Storage アカウント名とキーを使用して接続します。 アプリを他のユーザーと共有した後、ユーザーはアプリ内で構成された接続を使用して、Blob Storage 名とキーをアプリ ユーザーと共有しなくても、ファイルを Azure Blob Storage にアップロードできます。

この記事では、Azure Blob Storage に接続するサンプル キャンバス アプリを作成する方法と、接続した Blob Storage にさまざまな種類のファイルをアップロードできるようにするコントロールをアプリに追加する方法について説明します。

注意

Power Apps (OneDrive、OneDrive for Business、Google Drive、Dropbox、または Box など) を使用する、他のタイプのクラウド ストレージ オプションの詳細については、Power Apps からクラウド ストレージに接続するを参照してください。

前提条件

始める前に、BlockBlobStorage アカウントを作成して構成します。 必須ではありませんが、従来の BlobStorage アカウントを使用することもできます。 詳細: Azure Blob Storage のストレージ アカウントの種類

Azure Blob Storage 接続を作成する

アプリをストレージに接続するため、Power Apps では Azure Blob Storage への接続が必要です。

Azure Blob Storage 接続を作成するには:

  1. Power Apps にサインインします。

  2. 左側のウィンドウで、データを展開します。

  3. 接続を選択します。

  4. 新規接続 を選択します。

  5. Azure Blob Storage を選択します。

    新しい Azure Blob Storage 接続。

  6. アカウント名とアクセス キーをコピーして貼り付けます。

    ストレージ アカウント名とアクセス キーを入力する。

    アカウント名とアクセス キーをコピーする方法の詳細については、Azure でアカウント アクセス キーを表示するを参照してください。

  7. 作成を選択します。

これで Azure Blob Storage への接続が構成され、キャンバス アプリで使用できるようになりました。

Azure BlobStorage 接続を使用してキャンバス アプリを作成する

Azure Blob Storage との接続が作成されたので、このストレージに接続するキャンバス アプリを作成しましょう。

注意

このセクションでは、サンプル コントロール、機能、レイアウト デザインを備えたサンプル アプリを作成します。 ビジネス要件に応じて、異なる構造でアプリを作成したり、異なる方法でカスタマイズしたりできます。

  1. 空白のキャンバス アプリ を "Azure Blob Storage のサンプル アプリ" という名前で 電話 レイアウトで作成します。

  2. Power Apps Studio 内で、左ペインで、データ を選択します。

  3. データの追加 を選択します。

  4. コネクタの一覧から、Azure Blob Storage を選択します。

    Azure Blob Storage 接続を選択する。

コンテナーとファイルを表示する

アプリが Azure Blob Storage に接続されたので、ギャラリーを追加して、接続されたストレージからコンテナーとコンテナー内のファイルを表示してみましょう。

  1. 挿入 -> ギャラリー -> 空白の垂直を選択します。

  2. 画面の右側から、プロパティ ウィンドウで、レイアウト ドロップダウンを選択してタイトルを選択します。

    コンテナーのギャラリー レイアウトを選択する。

  3. 最初に 矢印アイコン。 をギャラリー内で選択し、削除します。

    矢印アイコンを削除する。

  4. 画面の右側から、プロパティ ウィンドウで、データ ソースのドロップダウンを選択して Azure Blob Storage を選択します。

    コンテナーのギャラリーに対するデータ ソース。

  5. ギャラリーの Items プロパティを次に設定します:

    AzureBlobStorage.ListRootFolderV2().value
    

    コンテナーの一覧。

    この操作では、Azure Blob Storage ルート フォルダー内の BLOB の一覧を表示します。 詳細: ルート フォルダー内の BLOB を一覧表示する

  6. 挿入 -> ギャラリー -> 縦方向 (空) の順に選択して、別の縦方向 (空) ギャラリーを追加します。

  7. コンテナーの一覧を表示する、先に追加したギャラリーの下にギャラリーを移動します。

  8. 画面の右側から、プロパティ ウィンドウで、レイアウト ドロップダウンを選択してタイトル、サブタイトル、本文を選択します。

  9. 最初に 矢印アイコン。 をギャラリー内で選択し、削除します。

  10. 画面の右側から、プロパティ ウィンドウで、データ ソースのドロップダウンを選択して Azure Blob Storage を選択します。

  11. ギャラリーの Items プロパティを次に設定します:

    AzureBlobStorage.ListFolderV2(Gallery1.Selected.Id).value
    

    この操作により、コンテナーの BLOB を一覧表示します。 詳細: BLOB を一覧表示する

    注意

    この式の Gallery1 は、ストレージ アカウントのすべてのコンテナーを一覧表示する、先に追加したギャラリーへの参照です。 異なる場合は、ギャラリー名で数式を更新します。

  12. 画面の右側から、プロパティ ウィンドウで、フィールド編集を選択します。

  13. ギャラリー タイトルの選択したフィールドを DisplayName、サブタイトルを LastModified、本文をパスに変更します。

    フィールドを選択します。

    ギャラリーには、上部のギャラリーを使用して選択されたコンテナーからのファイルの一覧が表示されます。

    コンテナーからのファイルの一覧。

  14. 挿入 -> テキスト ラベルを選択します。

  15. アプリ画面の上部にラベルを配置します。

  16. ラベルのテキスト プロパティを「コンテナーの選択」として設定します。

  17. 画面の右側にあるプロパティ ウィンドウを使用して、ラベル テキストの色、サイズ、およびラベル テキストの背景色を選択します。

  18. 挿入 -> テキスト ラベルを選択します。

  19. ファイルの一覧を含むギャラリーの上部に、ラベルを配置します。

  20. ラベルのテキスト プロパティを「ファイルの一覧」として設定します。

    ラベルが追加されたファイルの一覧。

Azure Blob Storage にファイルをアップロードする

これまでのアプリの設計では、コンテナーを選択してから、コンテナーからファイルを一覧表示できます。

接続された Azure Blob Storage にファイルをアップロードできるように、コントロールとロジックを使用してアプリを構成しましょう。

  1. 挿入 -> メディア -> 写真の追加を選択して、アップロードするファイルを選択する機能を追加します。

  2. 写真の追加コントロールをサイズ変更して、アプリ画面の左下に配置します。

  3. コントロールのテキスト プロパティを「アップロードするファイルの選択」に設定します。

  4. 挿入 -> ボタンを選択します。

  5. ボタンをアプリ画面下部の右側に配置します。

  6. ボタンのテキスト プロパティを「アップロード」に設定します。

  7. 挿入 -> テキスト入力を選択します。

  8. テキスト入力コントロールをアップロード ボタンの上部に配置します。

  9. ボタンの既定プロパティを「ファイル名を入力」に設定します。

  10. ボタンの OnSelect プロパティを次のように設定します:

    AzureBlobStorage.CreateFile(Gallery1.Selected.Name,TextInput1.Text, UploadedImage1.Image)
    

    この操作により、BLOB が Azure Blob Storage にアップロードされます。 詳細情報: BLOB の作成

    注意

    この式の Gallery1 は、ストレージ アカウントのすべてのコンテナーを一覧表示する、先に追加したギャラリーへの参照です。 ファイルはギャラリー 1 で選択したコンテナーにアップロードされます。 TextInput1 および uploadImage1 はテキスト入力を参照し、画像コントロールをアップロードします。 異なる場合は、コントロール名で数式を更新します。

    サンプル アプリでは、アプリ コントロールは次のようになります。

    ファイルを接続したストレージにアップロードする。

    ヒント

    アップロード オプションを使用する場合はすべてのファイルを選択して、すべてのファイル タイプがファイル エクスプローラー ダイアログ ボックスに表示されるようにします。

Azure Blob Storage からファイルをアップロードする

これまでに、コンテナ、選択したコンテナのファイルを表示する機能、ファイルをストレージにアップロードするオプションを追加しました。 それでは、接続されたストレージでダウンロード機能を操作する方法を見ていきましょう。

  1. コンテナーからのファイルの一覧を含むギャラリーの最初の行を選択します。

    ファイル一覧ギャラリーで最初の行を選択する。

  2. 挿入 -> アイコン -> ダウンロードを選択します。 これにより、ギャラリーのすべての行にダウンロード アイコンが追加されます。

  3. アプリ画面のギャラリー内の右側に最初のダウンロード アイコンを移動します。 これにより、ギャラリーの次の行の残りのアイコンも移動します。

    ファイル一覧ギャラリーで最初の行を移動する。

  4. ダウンロード アイコンの OnSelect プロパティを次のように設定します:

    Launch(AzureBlobStorage.CreateShareLinkByPath(ThisItem.Path).WebUrl)
    

    この操作では、パスを使用して BLOB 用の SAS リンクを作成します。 詳細: パスにより SAS URI を作成する

    重要

    CreateShareLinkByPath を使用して作成された SAS URI には 24 時間の既定の有効期限があります。 URI をより短い時間または異なる時間で期限切れにするというビジネス要件がある場合は、この式の更新を検討してください。 たとえば、以下のサンプルでは、Now() および DateAdd() 関数を使用して URI を 1 時間で期限切れにします。

    Launch(AzureBlobStorage.CreateShareLinkByPath(ThisItem.Path,{ExpiryTime:DateAdd( Now(),1)}).WebUrl)
    

    ヒント

    パブリックな匿名アクセス用 Azure Blob Storage の構成、および異なるパブリック アクセス レベルの詳細については、コンテナーと BLOB に対する匿名のパブリック読み取りアクセスを構成するを参照してください。

アプリではファイルをダウンロードできるようになりました。

アプリのテスト、保存、公開、および共有

アプリを再生してテストし、アプリが期待どおりに機能することを確認します。 テストの後、Power Apps Studio を閉じる前にアプリを確実に保存して公開するようにします。 その後、アプリを組織内のユーザーと、または組織外のゲストと共有できます。

オプションのカスタマイズ

このセクションでは、アプリで検討できるオプションおよび追加のカスタマイズについて説明します。

メディアの種類

ギャラリーのメディアの種類、またはパス フィールドを使用して、オプションでそれぞれのコントロールに画像コンテンツを表示できます。 たとえば、PDF ファイル用 PDF ビューアー、画像用画像、または音声/動画ファイル用音声/動画

たとえば、ファイル拡張子の種類が .pdf であるファイルをフィルタリングするには、次のサンプル式を使用します。

If(".pdf" in Gallery2.Selected.Path, AzureBlobStorage.GetFileContent(Gallery2.Selected.Id))

同様に、異なるファイル拡張子の種類またはメディアの種類を使用して、追加されたコントロールをさらにカスタマイズできます。

Azure Blob Storage に接続されているギャラリーを更新する

Azure Blob Storage 接続では、データが更新されるときにギャラリー内のデータを自動的に更新しません。 複数のコンテナーがある場合は、他のコンテナーを選択してから、先に選択したコンテナーを選択して、接続されているギャラリーを更新することで変更を表示できます。

もう一つの方法として、最初のギャラリーにコレクションを使用し、その後、関数の ClearCollect を使用してコレクションを更新することができます。

たとえば、次の数式により、最初のギャラリーで最上位コンテナ リストのコレクションを更新し、アップロード ボタンが選択されたとき、または画面が表示されたとき (OnVisible screen プロパティ)、2 番目のギャラリーを更新することができます。

  1. コンテナーの一覧に対する最初のギャラリーの Items プロパティを「TopLevelList」に設定します。

  2. アップロード ボタン  OnSelect  プロパティに追加する:

    ClearCollect(TopLevelList, AzureBlobStorage.ListRootFolderV2().value)
    
  3. 画面  OnVisible プロパティに追加する:

    ClearCollect(TopLevelList, AzureBlobStorage.ListRootFolderV2().value)
    

制限

ファイルが Azure Blob Storage に保存されている場合は、Microsoft Excel をデータ ソースとして使用できません。 Excel をデータ ソースとして使用するには、他のクラウド ストレージ コネクタ (OneDrive、OneDrive for Business、Google Drive、Dropbox、Box など) を使用します。 詳細: Power Apps からクラウド ストレージに接続する

次の手順

アプリ インターフェイスの設計

関連項目

Power Apps からクラウド ストレージに接続する