API de stockage local

L’API de stockage local vous permet de stocker des données dans le stockage local du navigateur. Pour utiliser l’API de stockage local, le commutateur d’administration du stockage local du client doit être activé.

Le stockage local est isolé afin que chaque type de visuel dispose de son propre accès de stockage distinct.

Remarque

Il incombe au développeur de s’assurer que les données stockées sont conformes aux stratégies organisationnelles du consommateur et d’informer les utilisateurs des informations stockées, si la sensibilité des données l’exige. En particulier, les développeurs de visuels personnalisés doivent chiffrer les données si les objectifs ou scénarios métier s’attendent à ce qu’elles soient chiffrées.

Comment utiliser le stockage local

Cette version de l’API de stockage local sera prochainement dépréciée. Nous n’acceptons plus de requêtes. Si possible, utilisez la version 2.

Dans l’exemple suivant, un compteur est augmenté chaque fois que la méthode update est appelée. La valeur du compteur est enregistrée localement et appelée chaque fois que le visuel démarre. Ainsi, le compteur continue à compter là où il s’était arrêté au lieu de recommencer à chaque démarrage du visuel :

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

Observations et limitations

  • La limite de stockage local est de 1 Mo par GUID.
  • Les données peuvent être partagées uniquement entre les visuels ayant le même GUID.
  • Les données ne peuvent pas être partagées avec une autre instance de Power BI Desktop.
  • L’API de stockage local n’est pas activée par défaut. Afin de l’activer pour votre visuel Power BI, envoyez une demande au support technique des visuels Power BI à l’adresse pbicvsupport@microsoft.com.
  • L’API de stockage local ne prend pas en charge les constructions await. Seules les méthodes then et catch sont autorisées.

Votre visuel doit être disponible dans AppSource et être certifié.