Поделиться через


API локального хранилища

С помощью API локального хранилища можно хранить данные в локальном хранилище браузера. Чтобы использовать API локального хранилища, необходимо включить параметр локального администратора хранилища клиента.

Локальное хранилище изолировано, чтобы каждый тип визуального элемента имеет собственный отдельный доступ к хранилищу.

Примечание.

Разработчик несет ответственность за обеспечение соответствия хранимых данных политикам организации потребителя и информирование пользователей о том, какие сведения хранятся, если чувствительность данных требует его. В частности, пользовательские разработчики визуальных элементов должны шифровать данные, если бизнес-цели или сценарии ожидают его.

Использование локального хранилища

Эта версия API локального хранилища запланирована на нерекомендуемую версию. Мы больше не принимаем запросы. По возможности используйте версию 2.

В следующем примере счетчик увеличивается при вызове метода обновления . Значение счетчика сохраняется локально и вызывается при каждом запуске визуального элемента. Таким образом, счетчик продолжает подсчет от того, откуда он ушел, а не начиная с каждого момента запуска визуального элемента:

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());
            // ...
        }
}

Рекомендации и ограничения

  • Ограничение локального хранилища составляет 1 МБ на GUID.
  • Данные можно совместно использовать между визуальными элементами только с тем же ИДЕНТИФИКАТОРом GUID.
  • Невозможно предоставить общий доступ к данным другому экземпляру Power BI Desktop.
  • По умолчанию API локального хранилища не активируется. Чтобы активировать его для визуального элемента Power BI, отправьте запрос в поддержку pbicvsupport@microsoft.comвизуальных элементов Power BI.
  • API локального хранилища не поддерживает await конструкции. Разрешены только then методы.catch

Визуальный элемент должен быть доступен в AppSource и быть сертифицирован.