Interfejs API magazynu lokalnego

Za pomocą lokalnego interfejsu API magazynu można przechowywać dane w magazynie lokalnym przeglądarki. Aby korzystać z lokalnego interfejsu API magazynu, należy włączyć przełącznik administratora magazynu lokalnego klienta.

Magazyn lokalny jest izolowany, dzięki czemu każdy typ wizualizacji ma własny oddzielny dostęp do magazynu.

Uwaga

Deweloper ponosi odpowiedzialność za zapewnienie zgodności przechowywanych danych z zasadami organizacyjnymi konsumenta oraz informowanie użytkowników o tym, jakie informacje są przechowywane, jeśli wymaga tego poufność danych. W szczególności deweloperzy wizualizacji niestandardowych powinni szyfrować dane, jeśli spodziewają się tego cele biznesowe lub scenariusze.

Jak używać magazynu lokalnego

Ta wersja lokalnego interfejsu API magazynu ma zostać wycofana. Nie akceptujemy więcej żądań. Jeśli to możliwe, użyj wersji 2.

W poniższym przykładzie licznik jest zwiększany przy każdym wywołaniu metody aktualizacji . Wartość licznika jest zapisywana lokalnie i wywoływana za każdym razem, gdy wizualizacja zostanie uruchomiona. W ten sposób licznik kontynuuje liczenie od miejsca, w którym została przerwana, zamiast uruchamiać się za każdym razem, gdy wizualizacja jest uruchamiana:

export class Visual implements IVisual {
        // ...
        private updateCountName: string = 'updateCount';
        private updateCount: number;
        private storage: ILocalVisualStorageService;
        // ...

        constructor(options: VisualConstructorOptions) {
            // ...
            this.storage = options.host.storageService;
            // ...

            this.storage.get(this.updateCountName).then(count =>
            {
                this.updateCount = +count;
            })
            .catch(() =>
            {
                this.updateCount = 0;
                this.storage.set(this.updateCountName, this.updateCount.toString());
            });
            // ...
        }

        public update(options: VisualUpdateOptions) {
            // ...
            this.updateCount++;
            this.storage.set(this.updateCountName, this.updateCount.toString());
            // ...
        }
}

Rozważania i ograniczenia

  • Limit magazynu lokalnego wynosi 1 mb na identyfikator GUID.
  • Dane mogą być udostępniane między wizualizacjami tylko z tym samym identyfikatorem GUID.
  • Nie można udostępniać danych innemu wystąpieniu programu Power BI Desktop.
  • Interfejs API magazynu lokalnego nie jest domyślnie aktywowany. Aby aktywować ją dla wizualizacji usługi Power BI, wyślij żądanie do pomocy technicznej wizualizacji usługi Power BI. pbicvsupport@microsoft.com
  • Interfejs API magazynu lokalnego nie obsługuje await konstrukcji. Dozwolone są tylko then metody i catch .

Wizualizacja powinna być dostępna w usłudze AppSource i być certyfikowana.