Подключение к хранилищу BLOB-объектов Azure из Power Apps

Power Apps может подключаться к хранилищу BLOB-объектов Azure. Вы можете отправлять файлы, такие как Word, Excel, или мультимедийные изображения, аудио или видео, используя Соединитель хранилища BLOB-объектов Azure для Power Apps.

При разработке приложения на основе холста, которое подключается к хранилищу BLOB-объектов Azure, приложение использует имя и ключ учетной записи хранилища BLOB-объектов для подключения. После того, как вы предоставите доступ к приложению другим пользователям, пользователи смогут использовать подключение, настроенное внутри приложения, для отправки файлов в хранилище BLOB-объектов Azure без необходимости делиться именем и ключами хранилища BLOB-объектов с пользователями приложения.

В этой статье вы узнаете, как создать образец приложения на основе холста, которое подключается к хранилищу BLOB-объектов Azure, и добавить в приложение элементы управления, которые позволяют отправлять файлы различных типов в подключенное хранилище BLOB-объектов.

Примечание

Чтобы узнать больше о других типах облачных хранилищ с Power Apps (например, OneDrive, OneDrive для бизнеса, Google Диск, Dropbox или Box) перейдите в Подключиться к облачному хранилищу из Power Apps.

Предварительные условия

Прежде чем начать, создайте и настройте Учетную запись BlockBlobStorage. Вы также можете использовать устаревшую учетную запись BlobStorage, хотя это не рекомендуется. Больше информации: Типы учетных записей хранения в хранилище BLOB-объектов Azure

Создание подключения к хранилищу BLOB-объектов Azure

Для Power Apps требуется создание подключения к хранилищу BLOB-объектов Azure, чтобы приложение могло подключиться к хранилищу.

Создание подключения к хранилищу BLOB-объектов Azure:

  1. Войдите в Power Apps.

  2. На левой панели разверните Данные.

  3. Выберите Подключения.

  4. Выберите Новое подключение.

  5. Выберите Хранилище BLOB-объектов Azure.

    Новое подключение к хранилищу BLOB-объектов Azure.

  6. Скопируйте и вставьте имя учетной записи и ключ доступа.

    Введите имя учетной записи хранения и ключи доступа.

    Для получения дополнительной информации о том, как скопировать имя учетной записи и ключ доступа, см. Просмотр ключей доступа к учетной записи в Azure.

  7. Выберите Создать.

Теперь ваше подключение к хранилищу BLOB-объектов Azure настроено и готово к использованию с приложениями на основе холста.

Создание приложения на основе холста с подключением к хранилищу BLOB-объектов Azure

Теперь, когда у вас есть подключение к хранилищу BLOB-объектов Azure, давайте создадим приложение на основе холста, которое подключается к этому хранилищу.

Примечание

В этом разделе вы создадите пример приложения с примерами элементов управления, функциональностью и дизайном макета. В зависимости от требований вашего бизнеса вы можете создать приложение с другой структурой или настроить по-другому.

  1. Создайте пустое приложение на основе холста с именем "Пример приложения для хранилища BLOB-объектов Azure" и макетом Телефон.

  2. В Power Apps Studio на левой панели выберите Данные.

  3. Выберите Добавить данные.

  4. В списке соединителей выберите Хранилище BLOB-объектов Azure.

    Выбор подключения к хранилищу BLOB-объектов Azure.

Просмотр контейнеров и файлов

Теперь, когда у вас есть приложение, подключенное к хранилищу BLOB-объектов Azure, давайте добавим коллекции для просмотра контейнеров и файлов в контейнерах из подключенного хранилища.

  1. Выберите Вставить -> Коллекция -> Пустая вертикальная.

  2. В правой части экрана на панели свойств выберите раскрывающийся список и выберите Заголовок.

    Выберите макет коллекции для контейнеров.

  3. Выберите сначала Значок стрелки. внутри коллекции и удалите его.

    Удаление значка стрелки.

  4. В правой части экрана на панели свойств выберите раскрывающийся список для источника данных и выберите Хранилище BLOB-объектов Azure.

    Источник данных для коллекции контейнеров.

  5. Задайте для свойства Элементы коллекции:

    AzureBlobStorage.ListRootFolderV2().value
    

    Список контейнеров.

    Эта операция выводит список BLOB-объектов в корневой папке хранилища BLOB-объектов Azure. Больше информации: Список BLOB-объектов в корневой папке

  6. Выберите Вставить -> Коллекция -> Пустая, вертикальная, чтобы добавить еще одну пустую вертикальную коллекцию.

  7. Переместите коллекцию под добавленной ранее коллекцией, в которой отображается список контейнеров.

  8. В правой части экрана на панели свойств выберите раскрывающийся список и выберите Заголовок, подзаголовок и текст.

  9. Выберите сначала Значок стрелки. внутри коллекции и удалите его.

  10. В правой части экрана на панели свойств выберите раскрывающийся список для источника данных и выберите Хранилище BLOB-объектов Azure.

  11. Задайте для свойства Элементы коллекции:

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

    Эта операция выводит список BLOB-объектов в контейнере. Больше информации: Список BLOB-объектов

    Примечание

    Gallery1 в этой формуле — это ссылка на добавленную ранее коллекцию, в которой перечислены все контейнеры в учетной записи хранения. Обновите формулу, указав имя коллекции, если оно отличается.

  12. В правой части экрана на панели свойств выберите Изменить для Поля.

  13. Измените выбранные поля для заголовка коллекции как DisplayName, подзаголовок как LastModified, а текст как Путь.

    Выбор полей.

    В коллекции теперь отображается список файлов из контейнера, выбранного с помощью коллекции вверху.

    Список файлов из контейнера.

  14. Выберите Вставить -> Текстовая метка.

  15. Поместите метку в верхнюю часть экрана приложения.

  16. Установите свойство Текст метки как «Выбрать контейнер».

  17. Используйте панель свойств в правой части экрана и выберите цвет текста метки, размер и цвет фона текста метки по вашему выбору.

  18. Выберите Вставить -> Текстовая метка.

  19. Поместите метку над коллекций со списком файлов.

  20. Установите свойство Текст метки как «Список файлов».

    Список файлов с добавленными метками.

Отправка файлов в хранилище BLOB-объектов Azure

В современном дизайне приложения вы можете выбрать контейнер, а затем перечислить файлы из контейнера.

Давайте настроим приложение с элементами управления и логикой, чтобы разрешить отправку файлов в подключенное хранилище BLOB-объектов Azure.

  1. Выберите Вставить -> Мультимедиа -> Добавить изображение, чтобы добавить возможность выбора файлов для отправки.

  2. Измените размер элемента управления Добавление изображения и поместите его в нижнем левом углу экрана приложения.

  3. Установите свойство Текст элемента управления как «Выбрать файл для отправки».

  4. Выберите Вставить -> Кнопка.

  5. Поместите кнопку в правом нижнем углу экрана приложения.

  6. Задайте свойство Текст кнопки как "Отправить".

  7. Выберите Вставить -> Ввод текста.

  8. Поместите элемент управления вводом текста над кнопкой Отправить.

  9. Задайте свойство По умолчанию кнопки как «Ввести имя файла».

  10. Задайте свойство OnSelect кнопки как:

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

    Эта операция отправляет BLOB-объект в хранилище BLOB-объектов Azure. Дополнительные сведения: Создание BLOB-объекта

    Примечание

    Gallery1 в этой формуле — это ссылка на добавленную ранее коллекцию, в которой перечислены все контейнеры в учетной записи хранения. Файл будет отправлен в выбранный контейнер в коллекции 1. TextInput1 и uploadImage1 ссылаются на элементы управления вводом текста и отправки изображения. Обновите формулу названиями элементов управления, если они другие.

    Теперь в примере приложения элементы управления выглядят следующим образом.

    Отправка файла в подключенное хранилище.

    Совет

    Убедитесь, что вы выбрали Все файлы при использовании параметра отправки, чтобы убедиться, что все типы файлов отображаются в диалоговом окне проводника файлов.

Загрузка файлов из хранилища BLOB-объектов Azure

На данный момент вы добавили возможность просмотра контейнеров, файлов из выбранного контейнера и возможность отправки файлов в хранилище. Теперь давайте разберемся, как работать с возможностью загрузки из подключенного хранилища.

  1. Выберите первую строку в коллекции со списком файлов из контейнера.

    Выберите первую строку в коллекции списка файлов.

  2. Выберите Вставить -> Значки -> Загрузить. Это добавляет значок загрузки для всех строк в коллекции.

  3. Переместите первый значок загрузки вправо внутри коллекции на экране приложения. Это также перемещает остальные значки для следующих строк в галерее.

    Переместите первую строку в коллекции списка файлов.

  4. Задайте свойство OnSelect значки загрузки как:

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

    Эта операция создает ссылку SAS для BLOB-объекта с использованием пути. Дополнительные сведения: Создание URI SAS по пути

    Важно!

    У URI SAS, созданного с использованием CreateShareLinkByPath, срок действия по умолчанию составляет 24 часа. Если у вас есть бизнес-требование, чтобы срок действия URI истекал в более короткий или другой период времени, рассмотрите возможность обновления этой формулы. Например, в приведенном ниже примере URI истекает через 1 час с использованием функций Now() и DateAdd().

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

    Совет

    Дополнительные сведения о настройке хранилища BLOB-объектов Azure для общедоступного анонимного доступа и различных уровней общедоступного доступа см. в разделе Настройка анонимного публичного доступа с правами на чтение для контейнеров и BLOB-объектов.

Теперь в приложении есть возможность загружать файлы.

Тестирование, сохранение, публикация приложения, а также предоставление общего доступа к нему

Запустите приложение, чтобы протестировать его, и убедитесь, что оно работает должным образом. После тестирования убедитесь, что вы сохранили и опубликовали приложение перед закрытием Power Apps Studio. А затем вы можете поделиться приложением с другими внутри вашей организации, или же гостями за пределами вашей организации.

Необязательные настройки

В этом разделе вы узнаете о необязательных и дополнительных настройках, которые вы можете рассмотреть для своего приложения.

Тип мультимедиа

Можно использовать поля Тип мультимедиа или Путь для коллекции, чтобы дополнительно отображать содержимое изображения в соответствующих элементах управления. Например, Средство просмотра PDF-файлов для файлов PDF, Изображение для изображений или Аудио/видео для аудио/видео файлов.

Например, чтобы отфильтровать файлы с типом расширения файла PDF, используйте следующую формулу-образец.

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

Точно так же вы можете использовать различные типы расширений файлов или типы мультимедиа для дополнительной настройки добавленных элементов управления.

Обновление коллекций, подключенных к хранилищу BLOB-объектов Azure

Подключение к хранилищу BLOB-объектов Azure не обновляет данные в коллекциях автоматически при обновлении данных. Если у вас более одного контейнера, вы можете выбрать другой контейнер, а затем снова выбрать ранее выбранный контейнер, чтобы обновить подключенную коллекцию и отобразить изменения.

Другой метод, который можно рассмотреть, — использовать коллекцию для первой галереи, а затем использовать функцию ClearCollect, чтобы обновить коллекцию.

Например, следующие формулы позволяют обновлять коллекцию для списка верхних контейнеров в первой коллекции и обновлять вторую коллекцию при нажатии кнопки отправки или при появлении экрана (свойство экрана OnVisible).

  1. Задайте свойство Элементы первой коллекции для списка контейнеров как "TopLevelList".

  2. Добавьте к кнопке отправки свойство OnSelect :

    ClearCollect(TopLevelList, AzureBlobStorage.ListRootFolderV2().value)
    
  3. Добавьте на экран свойство OnVisible:

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

Ограничения

Вы не можете использовать Microsoft Excel как источник данных, когда файл хранится в хранилище BLOB-объектов Azure. Чтобы использовать Excel в качестве источника данных, используйте другие соединители облачного хранилища (например, OneDrive, OneDrive для бизнеса, Google Диск, Dropbox или Box). Больше информации: Подключиться к облачному хранилищу из Power Apps

Дальнейшие шаги

Дизайн интерфейса приложения

См. также

Подключение к облачному хранилищу из Power Apps