Łączenie z Azure Blob Storage z poziomu Power Apps

Power Apps może połączyć się z Azure Blob Storage. Pliki w formacie programu Word, Excel lub obrazy multimedialne, pliki dźwiękowe lub filmy można przesłać za pomocą łącznika Azure Blob Storage dla Power Apps.

Podczas projektowania aplikacji kanwy łączącej się z Azure Blob Storage aplikacja używa nazwy konta i klucza magazynu obiektów blob do połączenia. Po udostępnieniu aplikacji innym użytkownikom można użyć połączenia skonfigurowanego w aplikacji w celu przekazania plików do Azure Blob Storage bez konieczności udostępniania nazwy i kluczy magazynu obiektów blob użytkownikom aplikacji.

W tym artykule dowiesz się, jak utworzyć przykładową aplikację kanwy, która łączy się z Azure Blob Storage, i dodać formanty do aplikacji umożliwiające przekazywanie różnych typów plików do połączonego magazynu obiektów blob.

Uwaga

Aby dowiedzieć się więcej o innych typach opcji przechowywania w chmurze za pomocą Power Apps (takich jak OneDrive, OneDrive for Business, Google Drive, Dropbox lub Box), przejdź do tematu Łączenie z magazynem w chmurze z poziomu Power Apps.

Wymagania wstępne

Przed rozpoczęciem należy utworzyć i skonfigurować konto BlockBlobStorage. Można również użyć starszego konta BlobStorage, chociaż nie jest to zalecane. Więcej informacji: Typy kont magazynowych w Azure Blob Storage

Tworzenie połączenia z Azure Blob Storage

Power Apps wymaga połączenia z Azure Blob Storage, które będzie tworzone dla aplikacji służącej do łączenia się z magazynem.

Aby utworzyć połączenie z Azure Blob Storage:

  1. Zaloguj się do usługi Power Apps.

  2. W lewym okienku rozwiń pozycję Dane.

  3. Wybierz Połączenia.

  4. Wybierz Nowe połączenie.

  5. Wybierz Azure Blob Storage.

    Nowe połączenie z Azure Blob Storage.

  6. Skopiuj i wklej nazwę konta oraz klucz dostępu.

    Wprowadzanie nazwy konta magazynu i kluczy dostępu.

    Aby uzyskać więcej informacji na temat kopiowania nazwy konta i klucza dostępu, przejdź do strony Wyświetlanie kluczy dostępu do kont na platformie Azure.

  7. Wybierz pozycję Utwórz.

Połączenie z Azure Blob Storage jest teraz skonfigurowane i gotowe do użycia w aplikacjach kanw.

Tworzenie aplikacji kanwy za pomocą połączenia z Azure Blob Storage

Po utworzeniu połączenia z Azure Blob Storage utwórzmy aplikację kanw, która łączy się z tym magazynem.

Uwaga

W tej sekcji utworzysz przykładową aplikację z przykładowym formantami, funkcjami i układem. W zależności od wymagań biznesowych możesz utworzyć aplikację o innej strukturze lub dostosować ją w inny sposób.

  1. Utwórz pustą aplikację kanwy o nazwie „Przykładowa aplikacja dla Magazynu obiektów blob Azure” i układu Telefon.

  2. W lewym okienku programu Power Apps Studio wybierz Dane.

  3. Wybierz Dodaj dane.

  4. Z listy łączników wybierz pozycję Azure Blob Storage.

    Wybieranie połączenia z Azure Blob Storage.

Wyświetlanie kontenerów i plików

Teraz, gdy masz aplikację połączoną z Azure Blob Storage, dodajmy galerie, aby zobaczyć kontenery i pliki w kontenerach z połączonego magazynu.

  1. Wybierz opcję Wstaw -> Galeria -> Pustą pozioma.

  2. Z prawej strony ekranu w okienku właściwości wybierz rozwijaną pozycję Układ i wybierz pozycję Tytuł.

    Wybieranie układu galerii dla kontenerów.

  3. Wybierz pierwszą ikonę strzałki. W galerii i usuń ją.

    Usuń ikonę strzałki.

  4. Z prawej strony ekranu w okienku właściwości wybierz rozwijaną pozycję źródła danych i wybierz pozycję Azure Blob Storage.

    Źródło danych galerii kontenerów.

  5. Ustaw właściwość Items galerii na:

    AzureBlobStorage.ListRootFolderV2().value
    

    Lista kontenerów.

    Wykonanie tej operacji powoduje utworzenie listy obiektów blob w folderze głównym w usłudze Azure Blob Storage. Więcej informacji: Obiekty blob — lista w folderze głównym

  6. Wybierz opcję Wstaw -> Galeria -> Pusta pionowa, aby dodać inną pustą galerię pionową.

  7. Przenieś galerię poniżej dodanej wcześniej galerii, w której jest wyświetlona lista kontenerów.

  8. Z prawej strony ekranu w okienku właściwości wybierz rozwijaną pozycję Układ i wybierz pozycję Tytuł, podtytuł i treść.

  9. Wybierz pierwszą ikonę strzałki. W galerii i usuń ją.

  10. Z prawej strony ekranu w okienku właściwości wybierz rozwijaną pozycję źródła danych i wybierz pozycję Azure Blob Storage.

  11. Ustaw właściwość Items galerii na:

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

    Ta operacja zawiera listę obiektów blob w kontenerze. Więcej informacji: Obiekty blob listy

    Uwaga

    Galeria1 w tej formule stanowi odwołanie do galerii dodanej wcześniej, w której wymieniono wszystkie kontenery na koncie magazynu. Zaktualizuj formułę za pomocą nazwy galerii, jeśli jest inna.

  12. Z prawej strony ekranu w okienku właściwości wybierz opcję Edytuj dla Pól.

  13. Zmień wybrane pola tytułu galerii jako DisplayName, podtytuł jako LastModified, a treść jako Path.

    Wybierz Pola.

    W galerii będzie teraz wyświetlona lista plików z kontenera wybranego przy użyciu galerii u góry.

    Lista plików z kontenera.

  14. Wybierz Wstaw -> Etykieta tekstowa.

  15. Umieść etykietę u góry ekranu aplikacji.

  16. Właściwość tekstu etykiety należy ustawić jako „Wybierz kontener”.

  17. Użyj okienka właściwości po prawej stronie ekranu i wybierz odpowiedni kolor, rozmiar i kolor tła tekstu etykiety.

  18. Wybierz Wstaw -> Etykieta tekstowa.

  19. Umieść etykietę nad galerią jako listę plików.

  20. Właściwość tekstu etykiety należy ustawić jako „Lista plików”.

    Lista plików z dodanymi etykietami.

Przekazywanie plików do Azure Blob Storage

W przypadku tak otwartego projektu aplikacji możesz wybrać kontener, a następnie wyświetlić pliki z kontenera.

Skonfigurujmy aplikację za pomocą formantów i logiki, aby zezwolić na przekazywanie plików do połączonego Azure Blob Storage.

  1. Wybierz opcję Wstaw -> Media -> Dodaj obraz, aby dodać możliwość wybierania plików do przekazania.

  2. Zmień rozmiar formantu Dodaj obraz i umieść go w lewej dolnej części ekranu aplikacji.

  3. Właściwość tekstową formantu należy ustawić jako „Wybierz plik do przekazania”.

  4. Wybierz Wstaw -> Przycisk.

  5. Umieść przycisk po prawej dolnej stronie ekranu aplikacji.

  6. Właściwość tekstu przycisku należy ustawić jako „Wgraj”.

  7. Wybierz Wstaw -> Dane tekstowe.

  8. Umieść formant wprowadzania tekstu nad przyciskiem Wgraj.

  9. Właściwość domyślną przycisku należy ustawić jako „Wprowadź nazwę pliku”.

  10. Ustaw właściwość OnSelect kontrolki przycisku na:

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

    Ta operacja przekazania obiektu blob do Azure Blob Storage. Więcej informacji: Tworzenie obiektu blob

    Uwaga

    Galeria1 w tej formule stanowi odwołanie do galerii dodanej wcześniej, w której wymieniono wszystkie kontenery na koncie magazynu. Plik zostanie przekazany do wybranego kontenera w galerii 1. TextInput1 i uploadImage1 odwołują się do formantów wprowadzania tekstu i przekazywania obrazów. Zaktualizuj formułę za pomocą nazwy formantów, jeśli jest inna.

    Kontrolki aplikacji będą teraz wyglądać tak, jak w przykładowej aplikacji.

    Wgrywanie pliku do połączonego magazynu.

    Napiwek

    Upewnij się, że podczas używania opcji przekazywania zaznaczono opcję Wszystkie pliki, aby zapewnić, że wszystkie typy plików będą widoczne w oknie dialogowym Eksploratora plików.

Pobieranie plików z Azure Blob Storage

Do tej pory dodano możliwość przeglądania kontenerów, plików z wybranego kontenera oraz opcję przesyłania plików do magazynu. Teraz spróbujmy zrozumieć, jak pracować z funkcjami pobierania ze połączonym magazynem.

  1. Zaznacz pierwszy wiersz w galerii z listą plików z kontenera.

    Zaznacz pierwszy wiersz w galerii listy plików.

  2. Wybierz Wstaw -> Ikony -> Pobierz. Powoduje to dodanie ikony pobierania dla wszystkich wierszy w galerii.

  3. Przenieś pierwszą ikonę pobierania w stronę prawej strony galerii na ekranie aplikacji. Powoduje to również przeniesienie pozostałych ikon dla następnych wierszy w galerii.

    Przesuń pierwszy wiersz w galerii listy plików.

  4. Ustaw właściwość OnSelect ikony pobierania na:

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

    Wykonanie tej operacji powoduje utworzenie linku sygnatury dostępu współdzielonego dla obiektu blob przy użyciu ścieżki. Więcej informacji: Tworzenie SAS URI za pomocą ścieżki

    Ważne

    URI SAS utworzone przy użyciu funkcji CreateShareLinkByPath ma domyślny okres utraty ważności o wartości 24 godzin. Jeśli jest wymagane, aby URI wygasło szybciej lub w innym czasie, należy rozważyć aktualizacje tej formuły. Na przykład poniższy przykładowy kod URI wygasa w ciągu 1 godziny przy użyciu funkcji Now() i DateAdd().

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

    Napiwek

    Aby uzyskać więcej informacji na temat konfigurowania Azure Blob Storage w celu publicznego dostępu anonimowego i różnych poziomów dostępu publicznego, przejdź do konfigurowania anonimowego dostępu do odczytu publicznego dla kontenerów i obiektów blob.

Aplikacja może teraz pobrać pliki.

Przetestuj, zapisz, opublikuj i udostępnij aplikację

Uruchom aplikację i sprawdź, czy działa zgodnie z oczekiwaniami. Po zakończeniu testowania upewnij się, że zapisujesz i publikujesz aplikację przed zamknięciem Power Apps Studio. Następnie możesz udostępnić aplikację innym osobom w swojej organizacji lub określić ustawienia dla gości poza organizacją.

Opcje dostosowywania opcjonalnego

W tej sekcji dowiesz się o opcjonalnych i dodatkowych dostosowaniach, które możesz uwzględnić w aplikacji.

Typ multimediów

Można użyć pól Typ multimediów lub Ścieżka dla galerii, aby opcjonalnie wyświetlić zawartość obrazu w odpowiednich formantach. Na przykład przeglądarka plików PDF dla plików PDF, obraz dla obrazów lub też Audio/wideo dla plików dźwiękowych bądź wideo.

Na przykład aby odfiltrować pliki o typie rozszerzenia pliku .pdf, użyj następującej przykładowej formuły.

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

Podobnie w celu dostosowania dodanych formantów można użyć różnych typów rozszerzeń plików lub typów multimediów.

Odświeżanie galerii połączonych z Azure Blob Storage

Połączenie z Azure Blob Storage nie odświeża danych w galeriach automatycznie po zaktualizowania danych. Jeśli masz więcej niż jeden kontener, można wybrać drugi kontener, a następnie wybrać wybrany wcześniej kontener ponownie, aby odświeżyć połączoną galerię w celu wyświetlenia zmian.

Inną metodą, którą można rozważyć, jest użycie kolekcji dla pierwszej galerii, a następnie użycie funkcji ClearCollect do odświeżenia kolekcji.

Na przykład następujące formuły umożliwiają zaktualizowanie kolekcji dla listy górnych kontenerów z pierwszej galerii i zaktualizowanie drugiej galerii po wybraniu przycisku przekazywania lub po wybraniu ekranu (właściwość ekranu OnVisible).

  1. Ustaw właściwość Items galerii dla listy kontenerów jako „TopLevelList”.

  2. Dołącz do właściwości przycisku OnSelect :

    ClearCollect(TopLevelList, AzureBlobStorage.ListRootFolderV2().value)
    
  3. Dodaj do właściwości ekranu OnVisible:

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

Ograniczenia

Nie można używać Microsoft Excel jako źródło danych, gdy plik jest przechowywany w Azure Blob Storage. Aby użyć programu Excel jako źródła danych, użyj innych łączników magazynu w chmurze (takich jak OneDrive, OneDrive for Business, Google Drive, Dropbox lub Box). Więcej informacji: Łączenie się z magazynem w chmurze z rozwiązania Power Apps

Następne kroki

Projektowanie interfejsu aplikacji

Zobacz także

Nawiązywanie połączenia z magazynem w chmurze z Power Apps