Condividi tramite


API di archiviazione locale

Con l'API di archiviazione locale è possibile archiviare i dati nella risorsa di archiviazione locale del browser. Per usare l'API di archiviazione locale, è necessario abilitare lil commutatore di amministrazione dell'archiviazione locale del cliente.

L'archiviazione locale è isolata in modo che ogni tipo di oggetto visivo abbia un accesso di archiviazione separato.

Nota

È responsabilità dello sviluppatore assicurarsi che i dati archiviati siano conformi ai criteri dell'organizzazione dell'utente, e informare gli utenti sulle informazioni archiviate, se la riservatezza dei dati lo richiede. In particolare, gli sviluppatori di oggetti visivi personalizzati devono crittografare i dati se gli obiettivi o gli scenari aziendali lo prevedono.

Come usare l'archiviazione locale

Questa versione dell'API di archiviazione locale è pianificata per la deprecazione. Non stiamo accettando altre richieste. Quando possibile, usare la versione 2.

Nell'esempio seguente un contatore viene aumentato ogni volta che viene chiamato il metodo di aggiornamento. Il valore del contatore viene salvato localmente e chiamato ogni volta che viene avviato l'oggetto visivo. In questo modo, il contatore continua a contare da dove è stato interrotto anziché ricominciare ogni volta che viene avviato l'oggetto visivo:

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

Considerazioni e limitazioni

  • Il limite di archiviazione locale è 1 mb per GUID.
  • I dati possono essere condivisi solo tra oggetti visivi con lo stesso GUID.
  • I dati non possono essere condivisi con un'altra istanza di Power BI Desktop.
  • L'API di archiviazione locale non è attivata per impostazione predefinita. Per attivarla per l'oggetto visivo di Power BI, inviare una richiesta al supporto degli oggetti visivi di Power BI, pbicvsupport@microsoft.com.
  • L'API di archiviazione locale non supporta le costruzioni await. Sono consentiti solo i metodi then e catch.

L'oggetto visivo deve essere disponibile in AppSource e deve essere certificato.