Udostępnij za pośrednictwem


Obsługa dostępu do danych

Funkcje źródła danych

Obiekt Data Połączenie or opakowuje i dostosowuje zachowanie funkcji źródła danych w bibliotece języka M. Na przykład rozszerzenie interfejsu API REST będzie używać funkcji Web.Contents do tworzenia żądań HTTP. Obecnie włączono ograniczony zestaw funkcji źródła danych, aby obsługiwać rozszerzalność.

Przykład:

[DataSource.Kind="HelloWorld", Publish="HelloWorld.Publish"]
shared HelloWorld.Contents = (optional message as text) =>
    let
        message = if (message <> null) then message else "Hello world"
    in
        message;

Rodzaj źródła danych

Funkcje oznaczone jako shared w rozszerzeniu mogą być skojarzone z określonym źródłem danych przez dołączenie DataSource.Kind atrybutu literału w funkcji o nazwie rekordu definicji źródła danych. Rekord źródła danych definiuje typy uwierzytelniania obsługiwane przez źródło danych oraz podstawowe informacje o znakowaniu (takie jak nazwa wyświetlana/etykieta). Nazwa rekordu staje się jego unikatowym identyfikatorem.

Każda funkcja skojarzona z tym samym źródłem danych musi mieć te same wymagane parametry funkcji, w tym nazwę, typ i kolejność. (Na potrzeby rodzaju źródła danych parametr nie jest uznawany za wymagany, jeśli jest oznaczony optional lub jeśli jego metadane zawierają DataSource.Path = false.

Funkcje dla określonego typu źródła danych mogą używać tylko poświadczeń skojarzonych z tym rodzajem. Poświadczenia są identyfikowane w czasie wykonywania, wykonując wyszukiwanie na podstawie kombinacji wymaganych parametrów funkcji. Aby uzyskać więcej informacji na temat identyfikowania poświadczeń, zobacz Ścieżki źródła danych.

Przykład:

HelloWorld = [
    Authentication = [
        Implicit = []
    ],
    Label = Extension.LoadString("DataSourceLabel")
];

Właściwości

W poniższej tabeli wymieniono pola rekordu definicji źródła danych.

Pole Typ Szczegóły
Uwierzytelnianie Rekord Określa co najmniej jeden typ uwierzytelniania obsługiwany przez źródło danych. Wymagany jest co najmniej jeden rodzaj. Każdy rodzaj będzie wyświetlany jako opcja w wierszu polecenia poświadczeń dodatku Power Query. Aby uzyskać więcej informacji, zobacz Typy uwierzytelniania.
Etykieta text (opcjonalnie) Przyjazna nazwa wyświetlana dla tego rozszerzenia w oknach dialogowych poświadczeń.
SupportsEncryption Logiczne (opcjonalnie) Jeśli to prawda, interfejs użytkownika wyświetli opcję łączenia ze źródłem danych przy użyciu szyfrowanego połączenia. Jest to zwykle używane w przypadku źródeł danych z nieszyfrowanym mechanizmem rezerwowym (zazwyczaj ODBC lub ADO.NET źródłami).

Publikowanie w interfejsie użytkownika

Podobnie jak w przypadku rekordu definicji źródła danych, rekord Publikuj udostępnia interfejs użytkownika dodatku Power Query informacje potrzebne do uwidocznienia tego rozszerzenia w oknie dialogowym Pobieranie danych .

Przykład:

HelloWorld.Publish = [
    Beta = true,
    ButtonText = { Extension.LoadString("FormulaTitle"), Extension.LoadString("FormulaHelp") },
    SourceImage = HelloWorld.Icons,
    SourceTypeImage = HelloWorld.Icons
];

HelloWorld.Icons = [
    Icon16 = { Extension.Contents("HelloWorld16.png"), Extension.Contents("HelloWorld20.png"), Extension.Contents("HelloWorld24.png"), Extension.Contents("HelloWorld32.png") },
    Icon32 = { Extension.Contents("HelloWorld32.png"), Extension.Contents("HelloWorld40.png"), Extension.Contents("HelloWorld48.png"), Extension.Contents("HelloWorld64.png") }
];

Właściwości

W poniższej tabeli wymieniono pola dla rekordu Publikuj.

Pole Typ Szczegóły
Buttontext lista Lista elementów tekstowych. Pierwszy element definiuje nazwę wyświetlaną obok ikony źródła danych w oknie dialogowym Pobieranie danych w usłudze Power BI. Drugi element (opcjonalnie) definiuje poradę narzędzia, która będzie wyświetlana, gdy poprzednia nazwa jest za pomocą myszy.
Kategoria text Gdzie rozszerzenie powinno być wyświetlane w oknie dialogowym Pobieranie danych . Obecnie jedynymi wartościami kategorii ze specjalnym przekazywaniem są Azure i Database. Wszystkie inne wartości zostaną zakończone w kategorii Inne.
Beta Logiczne (opcjonalnie) Po ustawieniu wartości true interfejs użytkownika wyświetli identyfikator wersji zapoznawczej/beta obok nazwy łącznika i okno dialogowe ostrzeżenia, że implementacja łącznika podlega zmianom powodującym niezgodność.
LearnMoreUrl text (opcjonalnie) Adres URL witryny sieci Web zawierający więcej informacji o tym źródle danych lub łączniku.
SupportsDirectQuery Logiczne (opcjonalnie) Włącza zapytanie bezpośrednie dla rozszerzenia.
SourceImage Rekord (opcjonalnie) Rekord zawierający listę obrazów binarnych (pochodzący z pliku rozszerzenia przy użyciu metody Extension.Contents ). Rekord zawiera dwa pola (Icon16, Icon32), z których każda ma własną listę. Każda ikona powinna mieć inny rozmiar.
SourceTypeImage Rekord (opcjonalnie) Podobnie jak SourceImage, z wyjątkiem konwencji dla wielu łączników poza pudełkiem jest wyświetlenie ikony arkusza z ikoną specyficzną dla źródła w prawym dolnym rogu. Posiadanie innego zestawu ikon dla parametru SourceTypeImage jest opcjonalne — wiele rozszerzeń po prostu używa tego samego zestawu ikon dla obu pól.