Udostępnij za pośrednictwem


Automatyczna konfiguracja instalacji aplikacji szablonu

Aplikacje szablonów to doskonały sposób na rozpoczęcie uzyskiwania szczegółowych informacji z danych przez klientów. Aplikacje szablonów umożliwiają szybkie rozpoczęcie pracy, łącząc je z danymi. Aplikacje szablonu udostępniają wstępnie utworzone raporty, które można dostosować, jeśli tego chcą.

Klienci nie zawsze znają szczegółowe informacje na temat nawiązywania połączenia z danymi. Należy podać te szczegóły podczas instalowania aplikacji szablonu może być dla nich punktem bólu.

Jeśli jesteś dostawcą usług danych i utworzono aplikację szablonu, aby ułatwić klientom rozpoczęcie pracy z danymi w usłudze, możesz ułatwić im instalowanie aplikacji szablonu. Możesz zautomatyzować konfigurację parametrów aplikacji szablonu. Gdy klient zaloguje się do portalu, wybierze specjalnie przygotowany link. Ten link:

  • Uruchamia automatyzację, która zbiera potrzebne informacje.
  • Wstępnie konfiguruje parametry aplikacji szablonu.
  • Przekierowuje klienta do konta usługi Power BI, na którym można zainstalować aplikację.

Wystarczy wybrać pozycję Zainstaluj i uwierzytelnić się w swoim źródle danych, a wszystko jest przydatne.

Środowisko klienta zostało zilustrowane tutaj.

Illustration of user experience with an auto-installation application.

W tym artykule opisano podstawowy przepływ, wymagania wstępne oraz główne kroki i interfejsy API potrzebne do zautomatyzowania konfiguracji instalacji aplikacji szablonu. Jeśli chcesz rozpocząć pracę, możesz przejść do samouczka, w którym zautomatyzować konfigurację instalacji aplikacji szablonu przy użyciu prostej przykładowej aplikacji przygotowanej przy użyciu funkcji platformy Azure.

Podstawowy przepływ

Podstawowy przepływ automatyzacji konfiguracji instalacji aplikacji szablonu jest następujący:

  1. Użytkownik loguje się do portalu niezależnego dostawcy oprogramowania i wybiera podany link. Ta akcja inicjuje zautomatyzowany przepływ. Portal niezależnego dostawcy oprogramowania przygotowuje konfigurację specyficzną dla użytkownika na tym etapie.

  2. Niezależnego dostawcy oprogramowania uzyskuje token tylko dla aplikacji na podstawie jednostki usługi (tokenu tylko dla aplikacji), która jest zarejestrowana w dzierżawie niezależnego dostawcy oprogramowania.

  3. Za pomocą interfejsów API REST usługi Power BI niezależnego dostawcy oprogramowania tworzy bilet instalacji, który zawiera konfigurację parametrów specyficznych dla użytkownika przygotowaną przez niezależnego dostawcę oprogramowania.

  4. Niezależnego dostawcy oprogramowania przekierowuje użytkownika do usługi Power BI przy użyciu metody przekierowania zawierającej POST bilet instalacji.

  5. Użytkownik jest przekierowywany do swojego konta usługi Power BI z biletem instalacji i jest monitowany o zainstalowanie aplikacji szablonu. Gdy użytkownik wybierze pozycję Zainstaluj, zostanie zainstalowana aplikacja szablonu.

Uwaga

Podczas gdy wartości parametrów są konfigurowane przez niezależnego dostawcę oprogramowania podczas tworzenia biletu instalacji, poświadczenia związane ze źródłem danych są dostarczane tylko przez użytkownika w ostatecznych etapach instalacji. Takie rozwiązanie uniemożliwia udostępnianie ich innej osobie i zapewnia bezpieczne połączenie między użytkownikiem a źródłami danych aplikacji szablonu.

Wymagania wstępne

Aby zapewnić wstępnie skonfigurowane środowisko instalacji aplikacji szablonu, wymagane są następujące wymagania wstępne:

  • Licencja Pro Power BI. Jeśli nie masz konta dla usługi Power BI Pro, przed rozpoczęciem utwórz konto bezpłatnej wersji próbnej.

  • Twoja własna dzierżawa firmy Microsoft Entra jest skonfigurowana. Aby uzyskać instrukcje dotyczące sposobu ich konfigurowania, zobacz Tworzenie dzierżawy firmy Microsoft Entra.

  • Jednostka usługi (token tylko dla aplikacji) zarejestrowana w poprzedniej dzierżawie. Aby uzyskać więcej informacji, zobacz Osadzanie zawartości usługi Power BI przy użyciu jednostki usługi i wpisu tajnego aplikacji. Pamiętaj, aby zarejestrować aplikację jako aplikację internetową po stronie serwera. Rejestrujesz aplikację internetową po stronie serwera w celu utworzenia wpisu tajnego aplikacji. W tym procesie należy zapisać identyfikator aplikacji (ClientID) i klucz tajny aplikacji (ClientSecret), aby wykonać późniejsze kroki.

  • Sparametryzowana aplikacja szablonu, która jest gotowa do instalacji. Aplikacja szablonu musi zostać utworzona w tej samej dzierżawie, w której zarejestrowano aplikację w usłudze Microsoft Entra ID. Aby uzyskać więcej informacji, zobacz Szablon app tips (Porady dotyczące aplikacji szablonu) lub Create a template app in Power BI (Tworzenie aplikacji szablonu w usłudze Power BI). W aplikacji szablonu należy zanotować następujące informacje dotyczące następnych kroków:

    • Identyfikator aplikacji, klucz pakietu i identyfikator właściciela wyświetlany w adresie URL instalacji na końcu procesu definiowania właściwości aplikacji szablonu podczas tworzenia aplikacji. Możesz również uzyskać ten sam link, wybierając pozycję Pobierz link w okienku Zarządzanie wydaniami aplikacji szablonu.
    • Nazwy parametrów zdefiniowane w modelu semantycznym aplikacji szablonu. Nazwy parametrów są ciągami uwzględniającymi wielkość liter i można je również pobrać z karty Parametr Ustawienia podczas definiowania właściwości aplikacji szablonu lub ustawień modelu semantycznego w usłudze Power BI.
  • Aby przetestować przepływ pracy automatyzacji, dodaj jednostkę usługi do obszaru roboczego aplikacji szablonu jako Administracja.

    Uwaga

    Możesz przetestować wstępnie skonfigurowaną aplikację instalacji w aplikacji szablonu, jeśli aplikacja szablonu jest gotowa do instalacji, nawet jeśli nie jest jeszcze publicznie dostępna w usłudze AppSource. Aby użytkownicy spoza dzierżawy mogli użyć automatycznej aplikacji instalacyjnej do zainstalowania aplikacji szablonu, aplikacja szablonu musi być publicznie dostępna w witrynie Marketplace aplikacji usługi Power BI. Przed dystrybucją aplikacji szablonu przy użyciu tworzonej aplikacji automatycznej instalacji pamiętaj, aby opublikować ją w Centrum partnerskim.

Główne kroki i interfejsy API

Główne kroki automatyzowania konfiguracji instalacji aplikacji szablonu i potrzebnych interfejsów API zostały opisane w poniższych sekcjach. Większość kroków jest wykonywana za pomocą interfejsów API REST usługi Power BI, ale przykłady kodu opisane tutaj są wykonywane przy użyciu zestawu SDK platformy .NET.

Krok 1. Tworzenie obiektu klienta usługi Power BI

Korzystanie z interfejsów API REST usługi Power BI wymaga uzyskania tokenu dostępu dla jednostki usługi z identyfikatora Entra firmy Microsoft. Przed wykonaniem wywołań do interfejsów API REST usługi Power BI wymagane jest uzyskanie tokenu dostępu usługi Microsoft Entra dla aplikacji usługi Power BI. Aby utworzyć klienta usługi Power BI przy użyciu tokenu dostępu, należy utworzyć obiekt klienta usługi Power BI, który umożliwia interakcję z interfejsami API REST usługi Power BI. Obiekt klienta usługi Power BI można utworzyć, opakowując obiekt AccessToken za pomocą obiektu Microsoft.Rest.TokenCredentials .

using Microsoft.IdentityModel.Clients.ActiveDirectory;
using Microsoft.Rest;
using Microsoft.PowerBI.Api.V2;

var tokenCredentials = new TokenCredentials(authenticationResult.AccessToken, "Bearer");

// Create a Power BI client object. It's used to call Power BI APIs.
using (var client = new PowerBIClient(new Uri(ApiUrl), tokenCredentials))
{
    // Your code goes here.
}

Krok 2. Tworzenie biletu instalacji

Utwórz bilet instalacji, który jest używany podczas przekierowywania użytkowników do usługi Power BI. Interfejs API używany na potrzeby tej operacji to interfejs API CreateInstallTicket .

Przykład tworzenia biletu instalacji na potrzeby instalacji i konfiguracji aplikacji szablonu jest dostępny w pliku InstallTemplateApp/InstallAppFunction.cs w przykładowej aplikacji.

W poniższym przykładzie kodu pokazano, jak używać interfejsu API REST CreateInstallTicket aplikacji szablonu.

using Microsoft.PowerBI.Api.V2;
using Microsoft.PowerBI.Api.V2.Models;

// Create Install Ticket Request.
InstallTicket ticketResponse = null;
var request = new CreateInstallTicketRequest()
{
    InstallDetails = new List<TemplateAppInstallDetails>()
    {
        new TemplateAppInstallDetails()
        {
            AppId = Guid.Parse(AppId),
            PackageKey = PackageKey,
            OwnerTenantId = Guid.Parse(OwnerId),
            Config = new TemplateAppConfigurationRequest()
            {
                Configuration = Parameters
                                    .GroupBy(p => p.Name)
                                    .ToDictionary(k => k.Key, k => k.Select(p => p.Value).Single())
            }
        }
    }
};

// Issue the request to the REST API using .NET SDK.
InstallTicket ticketResponse = await client.TemplateApps.CreateInstallTicketAsync(request);

Krok 3. Przekierowywanie użytkowników do usługi Power BI przy użyciu biletu

Po utworzeniu biletu instalacji należy go użyć do przekierowania użytkowników do usługi Power BI, aby kontynuować instalację i konfigurację aplikacji szablonu. Używasz POST przekierowania metody do adresu URL instalacji aplikacji szablonu z biletem instalacji w treści żądania.

Istnieją różne udokumentowane metody wystawiania przekierowania przy użyciu POST żądań. Wybór jednego lub drugiego zależy od scenariusza i sposobu interakcji użytkowników z portalem lub usługą.

Prosty przykład, najczęściej używany do celów testowych, używa formularza z ukrytym polem, które automatycznie przesyła się po załadowaniu.

<html>
    <body onload='document.forms["form"].submit()'>
        <!-- form method is POST and action is the app install URL -->
        <form name='form' action='https://app.powerbi.com/....' method='post' enctype='application/json'>
            <!-- value should be the new install ticket -->
            <input type='hidden' name='ticket' value='H4sI....AAA='>
        </form>
    </body>
</html>

Poniższy przykład odpowiedzi przykładowej aplikacji zawiera bilet instalacji i automatycznie przekierowuje użytkowników do usługi Power BI. Odpowiedź dla tej funkcji platformy Azure jest taka sama automatycznie, jak w poprzednim przykładzie HTML.

...
    return new ContentResult() { Content = RedirectWithData(redirectUrl, ticket.Ticket), ContentType = "text/html" };
}

...

public static string RedirectWithData(string url, string ticket)
{
    StringBuilder s = new StringBuilder();
    s.Append("<html>");
    s.AppendFormat("<body onload='document.forms[\"form\"].submit()'>");
    s.AppendFormat("<form name='form' action='{0}' method='post' enctype='application/json'>", url);
    s.AppendFormat("<input type='hidden' name='ticket' value='{0}' />", ticket);
    s.Append("</form></body></html>");
    return s.ToString();
}

Uwaga

Istnieją różne metody używania POST przekierowań przeglądarki. Zawsze należy używać najbezpieczniejszej metody, która zależy od potrzeb i ograniczeń usługi. Pamiętaj, że niektóre formy niezabezpieczonego przekierowania mogą spowodować uwidocznienie użytkowników lub usług w przypadku problemów z zabezpieczeniami.

Krok 4. Przenoszenie automatyzacji do środowiska produkcyjnego

Gdy zaprojektowana automatyzacja jest gotowa, pamiętaj, aby przenieść ją do środowiska produkcyjnego.