API de armazenamento local

Com a API de armazenamento local, você pode armazenar dados no armazenamento local do navegador. Para usar a API de armazenamento local, a opção de administração de armazenamento local do cliente deve ser habilitada.

O armazenamento local é isolado para que cada tipo de visual tenha seu próprio acesso de armazenamento separado.

Nota

É responsabilidade do desenvolvedor garantir que os dados armazenados estejam em conformidade com as políticas organizacionais do consumidor e informar os usuários sobre quais informações são armazenadas, se a sensibilidade dos dados exigir. Em particular, os desenvolvedores visuais personalizados devem criptografar os dados se os objetivos ou cenários de negócios esperarem isso.

Como usar o armazenamento local

Esta versão da API de armazenamento local está agendada para descontinuação. Não aceitamos mais pedidos. Sempre que possível, utilize a Versão 2.

No exemplo a seguir, um contador é aumentado sempre que o método update é chamado. O valor do contador é salvo localmente e chamado sempre que o visual é iniciado. Desta forma, o contador continua contando de onde parou, em vez de começar de novo cada vez que o visual é iniciado:

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

Considerações e limitações

  • O limite de armazenamento local é de 1 mb por GUID.
  • Os dados podem ser compartilhados entre elementos visuais apenas com o mesmo GUID.
  • Os dados não podem ser compartilhados com outra instância do Power BI Desktop.
  • A API de armazenamento local não é ativada por padrão. Para ativá-lo para seu visual do Power BI, envie uma solicitação para o suporte visual do Power BI, pbicvsupport@microsoft.com.
  • A API de armazenamento local não suporta await construções. Apenas then e catch métodos são permitidos.

Seu visual deve estar disponível no AppSource e ser certificado.