Поделиться через


Подключение к хранилищу 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 Drive, Dropbox или Box), перейдите в раздел "Подключение к облачному хранилищу" из Power Apps.

Предпосылки

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

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

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

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

  1. Выполните вход в Power Apps.

  2. На левой панели разверните узел Data.

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

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

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

    Новое подключение к службе хранилища Azure Bob.

  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. Выберите Insert ->Gallery ->Blank вертикальный.

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

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

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

    Значок со стрелкой удаления.

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

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

  5. Задайте для свойства Items коллекции значение:

    AzureBlobStorage.ListRootFolderV2().value
    

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

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

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

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

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

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

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

  11. Задайте для свойства Items коллекции значение:

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

    Эта операция содержит большие двоичные объекты в контейнере. Дополнительные сведения: список больших двоичных объектов

    Замечание

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

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

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

    Выберите поля.

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

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

  14. Выберите "Вставить ->Text label".

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

  16. Задайте свойство Text метки как "Выбрать контейнер".

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

  18. Выберите "Вставить ->Text label".

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

  20. Задайте для свойства Text метки значение "Список файлов".

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

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

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

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

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

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

  3. Задайте свойству Text элемента управления значение "Выбрать файл для отправки".

  4. Нажмите кнопкуInsert ->Button.

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

  6. Задайте для свойства Text кнопки значение "Отправить".

  7. Выберите insert ->Text input.

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

  9. Задайте для свойства default кнопки "Ввести имя файла".

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

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

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

    Замечание

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

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

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

    Подсказка

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

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

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

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

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

  2. Нажмите кнопку "Вставка ->Значки ->Скачать". При этом добавляется значок скачивания для всех строк в коллекции.

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

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

  4. Задайте для свойства OnSelect значок скачивания:

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

    Эта операция создает ссылку SAS для большого двоичного объекта с помощью пути. Дополнительные сведения: создание 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, используйте следующую пример формулу.

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

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

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

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

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

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

  1. Задайте для списка контейнеров свойство Items первой коллекции значение TopLevelList.

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

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

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

Ограничения

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

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

Проектирование интерфейса приложения

См. также

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