Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Ten artykuł koncentruje się na architekturze rozwiązań z zakresu CI/CD i ALM (Zarządzanie Cyklem Życia Aplikacji) dla usługi Dataflow Gen2, która opiera się na funkcji trybu parametrów publicznych i ma zastosowanie wyłącznie do usługi Dataflow Gen2 z obsługą CI/CD.
Parametry w usłudze Fabric Dataflow Gen2 umożliwiają definiowanie danych wejściowych wielokrotnego użytku, które kształtują sposób projektowania przepływu danych, a tryb parametrów publicznych może być ustawiany w czasie wykonywania za pośrednictwem potoków lub interfejsów API. Sprawia to, że pojedynczy przepływ danych jest wysoce elastyczny i wszechstronny, ponieważ można ponownie użyć tej samej logiki w wielu scenariuszach, przekazując różne wartości, włączając dynamiczne, zautomatyzowane przepływy pracy bez konieczności ponownego zapisywania lub duplikowania przekształceń.
W tym samouczku przedstawiono przykład pokazujący, jak wykonać następujące kroki:
- Parametryzowanie źródła: używanie usługi Lakehouse z przykładowym zestawem danych WideWorldImpoters jako źródłem
- Logika parametryzacji: korzystanie z widżetów wejściowych dostępnych w środowisku przepływu danych
- Parametryzowanie miejsca docelowego: używanie magazynu jako miejsca docelowego
- Prześlij żądanie uruchomienia z wartościami parametrów: przekazywanie wartości parametrów za pośrednictwem środowiska działania Dataflow wewnątrz potoku Fabric
Uwaga / Notatka
Koncepcje przedstawione w tym artykule są uniwersalne dla usługi Dataflow Gen2 i mają zastosowanie do innych źródeł i miejsc docelowych poza tymi przedstawionymi tutaj.
Scenariusz
Przepływ danych używany w tym scenariuszu jest prosty, ale podstawowe zasady opisane w tym scenariuszu dotyczą wszystkich typów przepływów danych. Łączy się z tabelą o nazwie dimension_city z przykładowego zestawu danych Wide World Importers przechowywanego w Lakehouse. Filtruje wiersze, w których kolumna SalesTerritory jest równa Południowo-Wschodniej i ładuje wynik do nowej tabeli o nazwie Miasto w magazynie. Wszystkie składniki — Lakehouse, Warehouse i Dataflow — znajdują się w tym samym obszarze roboczym. Aby ustawić dynamiczny przepływ danych, należy sparametryzować tabelę źródłową, wartość filtru i tabelę docelową. Te zmiany umożliwiają uruchamianie przepływu danych z określonymi wartościami zamiast zakodowanych na stałe.
Przed kontynuowaniem włącz tryb parametrów publicznych, przechodząc do karty Strona główna, wybierając pozycję Opcje i w sekcji Parametry, zaznacz pole wyboru z etykietą Umożliwiaj odnajdywanie i zastępowanie parametrów do wykonania, a następnie umożliwiaj przepływowi danych przyjmowanie parametrów podczas wykonywania.
Parametryzacja źródła
W przypadku korzystania z dowolnego łącznika sieci szkieletowej, takiego jak Lakehouse, Warehouse lub Fabric SQL, wszystkie te łączniki są zgodne z tą samą strukturą nawigacji i używają tego samego formatu danych wejściowych. W tym scenariuszu żaden z łączników nie wymaga ręcznego wejścia w celu nawiązania połączenia. Jednak każdy z nich pokazuje, z którym obszarem roboczym i elementem jest połączony poprzez etapy nawigacji w zapytaniu. Na przykład pierwszy krok nawigacji zawiera identyfikator workspaceId, z którymi nawiązuje połączenie zapytanie.
Celem jest zastąpienie wartości zakodowanych na stałe na pasku formuły parametrami. W szczególności należy utworzyć jeden parametr dla identyfikatora WorkspaceId , a drugi dla identyfikatora LakehouseId. Aby utworzyć parametry, przejdź do karty Narzędzia główne na wstążce, wybierz pozycję Zarządzaj parametrami, a następnie z menu rozwijanego wybierz pozycję Nowy parametr .
Podczas tworzenia parametrów upewnij się, że oba są oznaczone jako wymagane i ustawione na typ tekstu . Dla ich bieżących wartości użyj tych, które pasują do odpowiednich wartości z określonego środowiska.
Po utworzeniu obu parametrów można zaktualizować skrypt zapytania, aby używał ich zamiast wartości zakodowanych na stałe. Obejmuje to ręczne zastąpienie oryginalnych wartości na pasku formuły odwołaniami do parametrów Identyfikator obszaru roboczego i Identyfikator Lakehouse. Oryginalny skrypt zapytania wygląda następująco:
let
Source = Lakehouse.Contents([]),
#"Navigation 1" = Source{[workspaceId = "8b325b2b-ad69-4103-93ae-d6880d9f87c6"]}[Data],
#"Navigation 2" = #"Navigation 1"{[lakehouseId = "2455f240-7345-4c8b-8524-c1abbf107d07"]}[Data],
#"Navigation 3" = #"Navigation 2"{[Id = "dimension_city", ItemKind = "Table"]}[Data],
#"Filtered rows" = Table.SelectRows(#"Navigation 3", each ([SalesTerritory] = "Southeast")),
#"Removed columns" = Table.RemoveColumns(#"Filtered rows", {"ValidFrom", "ValidTo", "LineageKey"})
in
#"Removed columns"
Po zaktualizowaniu odwołań w krokach nawigacji nowy zaktualizowany skrypt może wyglądać następująco:
let
Source = Lakehouse.Contents([]),
#"Navigation 1" = Source{[workspaceId = WorkspaceId]}[Data],
#"Navigation 2" = #"Navigation 1"{[lakehouseId = LakehouseId]}[Data],
#"Navigation 3" = #"Navigation 2"{[Id = "dimension_city", ItemKind = "Table"]}[Data],
#"Filtered rows" = Table.SelectRows(#"Navigation 3", each ([SalesTerritory] = "Southeast")),
#"Removed columns" = Table.RemoveColumns(#"Filtered rows", {"ValidFrom", "ValidTo", "LineageKey"})
in
#"Removed columns"
Zauważysz, że nadal prawidłowo ocenia podgląd danych w edytorze przepływów danych.
Parametryzowanie logiki
Teraz, gdy źródło używa parametrów, możesz skoncentrować się na sparametryzowaniu logiki procesu przepływu danych. W tym scenariuszu krok filtru polega na tym, że logika jest stosowana, a filtrowana wartość, obecnie zakodowana jako Południowo-Wschodnia, powinna zostać zastąpiona parametrem . W tym celu utwórz nowy parametr o nazwie Territory, ustaw jego typ danych na tekst, oznacz go jako niezamagany i ustaw jego bieżącą wartość na Mideast.
Biorąc pod uwagę, że krok filtru został utworzony przy użyciu interfejsu użytkownika, możesz przejść do kroku Przefiltrowane wiersze, dwukrotnie go zaznaczyć i uzyskać okno dialogowe ustawień dla kroku filtru. To okno dialogowe umożliwia wybranie widżetu wejściowego, jeśli chcesz użyć parametru zamiast wartości statycznej:
Po wybraniu opcji Wybierz parametr zostanie wyświetlona lista rozwijana, aby wyświetlić wszystkie dostępne parametry zgodne z wymaganym typem danych. Z tej listy możesz wybrać nowo utworzony parametr Territory.
Po wybraniu przycisku OK zwróć uwagę, że widok diagramu utworzył już link między nowo utworzonym parametrem a używanym zapytaniem. Nie tylko to, ale podgląd danych zawiera teraz informacje o terytorium Środkowym.
Parametryzacja miejsca docelowego
Uwaga / Notatka
Zaleca się zapoznanie się z koncepcją miejsc docelowych danych w usłudze Dataflow Gen2 oraz sposobem tworzenia skryptu mashupu z artykułu na temat miejsc docelowych danych i ustawień zarządzanych
Ostatnim składnikiem do sparametryzowania w tym scenariuszu jest miejsce docelowe. Podczas gdy informacje o miejscu docelowym danych można znaleźć w edytorze przepływu danych, aby sparametryzować tę część przepływu danych, musisz użyć usługi Git lub interfejsu API REST.
W tym samouczku pokazano, jak wprowadzać zmiany za pomocą usługi Git. Przed wprowadzeniem zmian za pomocą narzędzia git upewnij się, że:
- Utwórz parametr o nazwie WarehouseId: upewnij się, że jako bieżącą wartość użyj odpowiedniego identyfikatora magazynu, ustaw go zgodnie z potrzebami i typu danych tekstowych.
- Zapisz przepływ danych: użyj przycisku Zapisz na karcie Strona główna na wstążce.
Po zapisaniu Dataflow upewnij się, że zatwierdzisz zmiany w repozytorium Git i przejdź do repozytorium, aby wyświetlić plik mashup.pq Dataflow. Podczas przeglądania pliku mashup.pq poszukaj zapytania skojarzonego z miejscem docelowym danych. W tym scenariuszu nazwa tego zapytania jest dimension_city. Zostanie wyświetlony atrybut rekordu powyżej tej nazwy zapytania:
[DataDestinations = {[Definition = [Kind = "Reference", QueryName = "dimension_city_DataDestination", IsNewTarget = true], Settings = [Kind = "Manual", AllowCreation = true, ColumnSettings = [Mappings = {[SourceColumnName = "CityKey", DestinationColumnName = "CityKey"], [SourceColumnName = "WWICityID", DestinationColumnName = "WWICityID"], [SourceColumnName = "City", DestinationColumnName = "City"], [SourceColumnName = "StateProvince", DestinationColumnName = "StateProvince"], [SourceColumnName = "Country", DestinationColumnName = "Country"], [SourceColumnName = "Continent", DestinationColumnName = "Continent"], [SourceColumnName = "SalesTerritory", DestinationColumnName = "SalesTerritory"], [SourceColumnName = "Region", DestinationColumnName = "Region"], [SourceColumnName = "Subregion", DestinationColumnName = "Subregion"], [SourceColumnName = "Location", DestinationColumnName = "Location"], [SourceColumnName = "LatestRecordedPopulation", DestinationColumnName = "LatestRecordedPopulation"]}], DynamicSchema = false, UpdateMethod = [Kind = "Replace"], TypeSettings = [Kind = "Table"]]]}]
shared dimension_city = let
Ten rekord atrybutu ma pole o nazwie QueryName, które zawiera nazwę zapytania, które ma całą logikę docelową danych skojarzona z tym zapytaniem. To zapytanie wygląda następująco:
shared dimension_city_DataDestination = let
Pattern = Fabric.Warehouse([HierarchicalNavigation = null, CreateNavigationProperties = false]),
Navigation_1 = Pattern{[workspaceId = "8b325b2b-ad69-4103-93ae-d6880d9f87c6"]}[Data],
Navigation_2 = Navigation_1{[warehouseId = "527ba9c1-4077-433f-a491-9ef370e9230a"]}[Data],
TableNavigation = Navigation_2{[Item = "City", Schema = "dbo"]}?[Data]?
in
TableNavigation
Zauważysz, że podobnie jak skrypt źródła dla usługi Lakehouse, ten skrypt dla miejsca docelowego ma podobny wzorzec, w którym koduje identyfikator workspaceid, który musi być używany, a także warehouseId. Zastąp te stałe wartości identyfikatorami parametrów, a skrypt powinien wyglądać następująco:
shared dimension_city_DataDestination = let
Pattern = Fabric.Warehouse([HierarchicalNavigation = null, CreateNavigationProperties = false]),
Navigation_1 = Pattern{[workspaceId = WorkspaceId]}[Data],
Navigation_2 = Navigation_1{[warehouseId = WarehouseId]}[Data],
TableNavigation = Navigation_2{[Item = "City", Schema = "dbo"]}?[Data]?
in
TableNavigation
Teraz możesz zatwierdzić tę zmianę i zaktualizować przepływ danych, korzystając ze zmian w nim poprzez funkcję kontroli źródła w obszarze roboczym. Możesz sprawdzić, czy wszystkie zmiany zostały wprowadzone, otwierając przepływ danych i przeglądając lokalizację docelową danych oraz wszystkie poprzednie odwołania do parametrów, które zostały dodane. Spowoduje to sfinalizowanie wszystkich parametrów przepływu danych. Teraz można przejść do uruchamiania przepływu danych, przekazując wartości parametrów do wykonania.
Uruchamianie żądania z wartościami parametrów
Za pomocą interfejsu API REST sieci szkieletowej możesz wysłać żądanie uruchomienia z niestandardowym ładunkiem zawierającym wartości parametrów dla tej konkretnej operacji uruchamiania, a także użyć interfejsu API REST do odnajdywania parametrów przepływu danych i zrozumienia, czego oczekuje przepływ danych, aby mógł wyzwolić przebieg. W tym samouczku użyjesz doświadczenia w ramach aktywności Przepływ danych dla potoków Fabric. Zacznij od utworzenia potoku i dodania nowego działania przepływu danych do kanwy. W ustawieniach działania znajdź obszar roboczy, w którym znajduje się przepływ danych, a następnie wybierz przepływ danych z listy rozwijanej.
Sekcję Parametry przepływu danych można rozwinąć, aby wyświetlić wszystkie dostępne parametry w przepływie danych i ich wartości domyślne. W tym miejscu można zastąpić wszystkie wartości, a przekazane wartości zostaną użyte do zdefiniowania źródeł, logiki i miejsca docelowego do oceny przebiegu przepływu danych. Możesz także wypróbować nowym scenariuszom poprzez utworzenie nowego magazynu i zmienić identyfikator WarehouseId na potrzeby oceny lub używając tego wzorca w potoku wdrażania, w którym należy przekazać identyfikator WorkspaceId i inne parametry, by wskazać właściwe elementy w odpowiednim środowisku.