Udostępnij za pośrednictwem


Cykl życia elementu

Zalecanym przepływem tworzenia elementów w interfejsie użytkownika sieci szkieletowej jest

  1. Monituj użytkownika o podanie nazwy elementu.
  2. Utwórz element "pusty".
  3. Edytuj i zapisz nowy element.

Schematowa reprezentacja pierwszej części zarządzania cyklem życia elementów w usłudze Microsoft Fabric.

Ten proces można podzielić na następujące fazy:

  1. Tworzenie pustego elementu
  2. Ładowanie elementu
  3. Edytowanie elementu

Schematowa reprezentacja drugiej części zarządzania cyklem życia elementów w usłudze Microsoft Fabric.

Gdy użytkownik wybierze przycisk, aby utworzyć element dowolnego typu, kod usługi Fabric FE (Portal) musi załadować odpowiedni edytor elementów. Sieć szkieletowa FE wykonuje wywołanie interfejsu API do sieci szkieletowej BE w celu pobrania wymaganych informacji, w tym adresu URL źródłowego, szczegółów aplikacji Microsoft Entra ID i adresu URL be obciążenia, wszystkich odpowiadających bieżącemu kontekstowi. Po udostępnieniu tych informacji zostanie utworzony element. Zazwyczaj element ładuje swoje zasoby statyczne, takie jak HTML, JavaScript, CSS i obrazy z usługi CDN. Zalecamy użycie wdrożenia sieci CDN w wielu regionach i skonfigurowanie rozpoznawania nazw w taki sposób, aby źródłowy adres URL był rozpoznawany na serwerze CDN znajdującym się fizycznie najbliżej bieżącej lokalizacji przeglądarki.

Uwaga

Zazwyczaj edytor elementów musi wykonywać wywołania do obciążenia BE, prawdopodobnie podczas fazy edycji. Wymaga to rozpoznawania adresu URL BE obciążenia na podstawie bieżącego kontekstu. Obecnie kod może używać zakodowanego adresu URL BE.

Tworzenie pustego elementu

Typowym rozwiązaniem w usłudze Fabric jest umożliwienie tworzenia elementu bez danych wejściowych użytkownika, z wyjątkiem nazwy elementu. Nie należy się spodziewać, że takie elementy robią coś znaczącego (dlatego "puste"), ale pojawiają się w obszarze roboczym i mogą uczestniczyć w podstawowych przepływach i operacjach. Ponadto w niektórych przypadkach mogą one nawet działać w oparciu o rozsądne wartości domyślne ustawione przez obciążenie.

Ten przepływ rozpoczyna się od monitowania użytkownika o podanie nazwy nowego elementu. Mając nazwę, element iframe wykonuje wywołanie interfejsu API JS hosta w celu zainicjowania przepływu tworzenia elementu, przekazując opcjonalny obiekt JSON jako "ładunek tworzenia", a następnie host wykona wywołanie usługi Fabric BE. Uwierzytelnianie jest obsługiwane przez hosta. Sieć szkieletowa BE rozpoznaje adres URL be obciążenia na podstawie kontekstu i wywołuje CreateItem interfejs API obciążenia, przekazując "ładunek tworzenia" wysyłany przez element iframe. Oczekuje się, że obciążenie BE będzie przechowywać metadane nowego elementu, ewentualnie przydzielić niektóre zasoby (chociaż ten krok można odroczyć do późniejszego punktu) i wykonać dowolną inną odpowiednią pracę. Po zakończeniu tworzenia elementu z perspektywy obciążenia BE należy powiadomić sieć szkieletową BE o zmianie metadanych elementu. Ten sam proces musi nastąpić w każdej aktualizacji metadanych elementu, dlatego token podmiotu musi zostać wymieniony dla odbiorców sieci szkieletowej BE.

Uwaga

Interfejs API do powiadamiania o aktualizacji metadanych elementu nie jest obecnie dostępny.

Ładowanie elementu

Aby edytować element, element iframe musi załadować jego metadane. Ten proces jest taki sam w przypadku ładowania elementów "pustych" i "zainicjowanych". Element iframe wykonuje wywołanie interfejsu API JS hosta, który wywołuje element FABRIC BE, który z kolei wywołuje interfejs API obciążenia GetItemPayload. Obciążenie BE może zwrócić obiekt JSON, który jest następnie przekazywany z powrotem do elementu iframe. Uwierzytelnianie jest obsługiwane przez hosta.

Edytowanie elementu

Po załadowaniu metadanych elementu można rozpocząć sesję edycji. Na początku lub w trakcie tej sesji może być konieczne wykonanie wywołań do obciążenia BE (na przykład w celu pobrania konfiguracji, wypełnienia kontrolek interfejsu użytkownika, przeprowadzania walidacji i nie tylko). W tym celu musi zażądać tokenu z interfejsu API JS hosta.